diff options
author | sommerfe <sommerfe> | 1998-11-29 23:39:30 +0000 |
---|---|---|
committer | sommerfe <sommerfe> | 1998-11-29 23:39:30 +0000 |
commit | 9cfd26cdb08eb01da6a56608817ec639a37ce50d (patch) | |
tree | eb386f8f5ef5b0f5537fafb8e818eefc6fd60684 /emulators | |
parent | b16216f2fd03e7c16a00144a5317e2b276fe683d (diff) | |
download | pkgsrc-9cfd26cdb08eb01da6a56608817ec639a37ce50d.tar.gz |
sigaddset() on an automatic variable works much better if preceded by
sigemptyset(). (this used to work, by chance, when sigmasks fit in a
register).
doscmd now seems to work on 1.3I
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/doscmd/patches/patch-aa | 12 | ||||
-rw-r--r-- | emulators/doscmd/patches/patch-ag | 20 |
2 files changed, 28 insertions, 4 deletions
diff --git a/emulators/doscmd/patches/patch-aa b/emulators/doscmd/patches/patch-aa index c6c91a1b83b..53a01de6491 100644 --- a/emulators/doscmd/patches/patch-aa +++ b/emulators/doscmd/patches/patch-aa @@ -1,8 +1,8 @@ -$NetBSD: patch-aa,v 1.3 1998/10/28 01:29:16 hubertf Exp $ +$NetBSD: patch-aa,v 1.4 1998/11/29 23:39:30 sommerfe Exp $ ---- signal.c.orig Thu May 2 22:03:39 1996 -+++ signal.c Wed Oct 28 02:03:15 1998 -@@ -98,8 +98,14 @@ +--- signal.c.orig Thu May 2 16:03:39 1996 ++++ signal.c Sun Nov 29 18:27:37 1998 +@@ -98,11 +98,18 @@ if (s >= 0 && s < NSIG) { handler[s] = h; @@ -18,3 +18,7 @@ $NetBSD: patch-aa,v 1.3 1998/10/28 01:29:16 hubertf Exp $ sa.sa_flags = SA_ONSTACK; sigaction(s, &sa, NULL); ++ sigemptyset(&set); + sigaddset(&set, s); + sigprocmask(SIG_UNBLOCK, &set, 0); + } diff --git a/emulators/doscmd/patches/patch-ag b/emulators/doscmd/patches/patch-ag new file mode 100644 index 00000000000..56f28007a59 --- /dev/null +++ b/emulators/doscmd/patches/patch-ag @@ -0,0 +1,20 @@ +$NetBSD: patch-ag,v 1.1 1998/11/29 23:39:30 sommerfe Exp $ + +--- AsyncIO.c Thu May 2 02:51:00 1996 ++++ /tmp/AsyncIO.c Sun Nov 29 18:28:44 1998 +@@ -320,6 +320,7 @@ + abort(); + } + if (stackp++ == 0) { ++ sigemptyset(&set); + sigaddset(&set, SIGIO); + sigprocmask(SIG_BLOCK, &set, 0); + } +@@ -335,6 +336,7 @@ + abort(); + } + if (--stackp == 0) { ++ sigemptyset(&set); + sigaddset(&set, SIGIO); + sigprocmask(SIG_UNBLOCK, &set, 0); + } |