summaryrefslogtreecommitdiff
path: root/devel/pth/patches/patch-ad
diff options
context:
space:
mode:
authorskrll <skrll@pkgsrc.org>2001-05-14 20:21:18 +0000
committerskrll <skrll@pkgsrc.org>2001-05-14 20:21:18 +0000
commit3da1c4eaf9d5c4e54fbffa92824be20ff061ac04 (patch)
treed493d1f21302248a1e73f316e9a4ed4282320738 /devel/pth/patches/patch-ad
parentab7150452e5e185298fda55ca7fcfea1bf88e114 (diff)
downloadpkgsrc-3da1c4eaf9d5c4e54fbffa92824be20ff061ac04.tar.gz
When --enable-syscall-hard is specified actually provide wrappers for all
the syscalls that are documented as having wrappers. The ones missing were wait4 and sigprocmask. Patches have been sent to package maintainer.
Diffstat (limited to 'devel/pth/patches/patch-ad')
-rw-r--r--devel/pth/patches/patch-ad42
1 files changed, 42 insertions, 0 deletions
diff --git a/devel/pth/patches/patch-ad b/devel/pth/patches/patch-ad
new file mode 100644
index 00000000000..b5bee8266e1
--- /dev/null
+++ b/devel/pth/patches/patch-ad
@@ -0,0 +1,42 @@
+$NetBSD: patch-ad,v 1.1 2001/05/14 20:21:20 skrll Exp $
+
+--- pth_syscall.c.orig Sat Mar 24 14:50:03 2001
++++ pth_syscall.c
+@@ -85,11 +85,13 @@
+ #if cpp
+ #if defined(SYS_sigprocmask)
+ #define PTH_SC_sigprocmask(a1,a2,a3) ((int)syscall(SYS_sigprocmask,(a1),(a2),(a3)))
++#elif defined(SYS___sigprocmask14)
++#define PTH_SC_sigprocmask(a1,a2,a3) ((int)syscall(SYS___sigprocmask14,(a1),(a2),(a3)))
+ #else
+ #define PTH_SC_sigprocmask sigprocmask
+ #endif
+ #endif /* cpp */
+-#if PTH_SYSCALL_HARD && defined(SYS_sigprocmask)
++#if PTH_SYSCALL_HARD && (defined(SYS_sigprocmask) || defined(SYS___sigprocmask14))
+ int sigprocmask(int how, const sigset_t *set, sigset_t *oset)
+ {
+ pth_implicit_init();
+@@ -119,6 +121,22 @@
+ {
+ pth_implicit_init();
+ return pth_waitpid(wpid, status, options);
++}
++#endif
++
++/* Pth hard wrapper for syscall wait4(2) */
++#if cpp
++#if defined(SYS_wait4)
++#define PTH_SC_wait4(a1,a2,a3,a4) ((int)syscall(SYS_wait4,(a1),(a2),(a3),(a4)))
++#else
++#define PTH_SC_wait4 wait4
++#endif
++#endif /* cpp */
++#if PTH_SYSCALL_HARD && defined(SYS_wait4)
++pid_t wait4(pid_t wpid, int *status, int options, struct rusage *rusage)
++{
++ pth_implicit_init();
++ return pth_wait4(wpid, status, options, rusage);
+ }
+ #endif
+