summaryrefslogtreecommitdiff
path: root/emulators/doscmd
diff options
context:
space:
mode:
authorsommerfe <sommerfe@pkgsrc.org>1998-11-29 23:39:30 +0000
committersommerfe <sommerfe@pkgsrc.org>1998-11-29 23:39:30 +0000
commitb59a4d1d8c4278b06d5f088e85974a9f3324c961 (patch)
treeeb386f8f5ef5b0f5537fafb8e818eefc6fd60684 /emulators/doscmd
parent936f422537942ae6a77fd1df29a3ff69e85ca4f3 (diff)
downloadpkgsrc-b59a4d1d8c4278b06d5f088e85974a9f3324c961.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/doscmd')
-rw-r--r--emulators/doscmd/patches/patch-aa12
-rw-r--r--emulators/doscmd/patches/patch-ag20
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);
+ }