freebsd-ports/lang/scsh/files/patch-af
Alexander Langer 54f9fd8835 - Add support for sigset_t - changes.
- Claim maintainership.

Approved by:	cracauer
2000-07-19 14:54:42 +00:00

27 lines
713 B
Plaintext

--- 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;
+}