head	1.2;
access;
symbols
	old_RELEASE_4_4_0:1.1
	old_RELEASE_4_3_0:1.1
	old_RELEASE_4_2_0:1.1
	old_RELEASE_4_1_1:1.1
	old_RELEASE_4_1_0:1.1;
locks; strict;
comment	@# @;


1.2
date	2001.09.15.14.37.39;	author alex;	state dead;
branches;
next	1.1;

1.1
date	2000.07.19.14.54.42;	author alex;	state Exp;
branches;
next	;


desc
@@


1.2
log
@Upgrade to 0.5.3.

Submitted by:	jkoshy
@
text
@--- scsh/bsd/sigset.h.old	Tue Feb  1 16:04:42 2000
+++ scsh/bsd/sigset.h	Fri Feb  4 14:54:18 2000
@@@@ -2,9 +2,18 @@@@
 ** These macros are OS-dependent, and must be defined per-OS.
 */
 
-#define make_sigset(maskp, hi, lo) (*maskp=((hi)<<24)|(lo))
+#define make_sigset(maskp, hi, lo) sigemptyset(maskp),\
+	sigaddset(maskp, hi), \
+	sigaddset(maskp, lo);
 
-/* Not a procedure: */
-#define split_sigset(mask, hip, lop) \
-	((*(hip)=(mask>>24)&0xff), \
-	 (*(lop)=(mask&0xffffff)))
+static void
+split_sigset(sigset_t mask, int * hip, int * lop) {
+	int seen = 0;
+	int n;
+	for (n = 1; n <= _SIG_MAXSIG; n++) {
+		if (sigismember(&mask, n))
+			(seen ? *hip : *lop) = n, seen++;
+	}
+	if (seen == 1)
+		*hip = 0;
+}
@


1.1
log
@- Add support for sigset_t - changes.
- Claim maintainership.

Approved by:	cracauer
@
text
@@

