]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - sail/machdep.h
Make the default WARNS for games 4. The only game that needs to set WARNS
[bsdgames-darwin.git] / sail / machdep.h
index a67210370923469130b3329b1e0b70c446ea5f4b..63e64ff6927bbb11eb02a193282e303f9bb985b1 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: machdep.h,v 1.3 1995/04/22 10:37:00 cgd Exp $  */
+/*     $NetBSD: machdep.h,v 1.6 2008/01/28 01:58:01 dholland Exp $     */
 
 /*
  * Copyright (c) 1983, 1993
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
  *
 
 #define TIMEOUT 300                            /* Sync() timeout in seconds */
 
-/* for 4.2bsd machines */
-#define blockalarm()   ((void) sigblock(1 << SIGALRM-1))
-#define unblockalarm() ((void) sigsetmask(sigblock(0) & ~(1 << SIGALRM-1)))
-
-/* for 2.9bsd machines (onyx)
-typedef int void;
-#define blockalarm()   ((void) sighold(SIGALRM))
-#define unblockalarm() ((void) sigrelse(SIGALRM))
-*/
+/* for POSIX systems */
+#define        blockalarm() \
+       do {                                                            \
+               sigset_t set;                                           \
+               sigemptyset(&set);                                      \
+               sigaddset(&set, SIGALRM);                               \
+               sigprocmask(SIG_BLOCK, &set, (sigset_t *)0);            \
+       } while (0)
+#define        unblockalarm() \
+       do {                                                            \
+               sigset_t set;                                           \
+               sigemptyset(&set);                                      \
+               sigaddset(&set, SIGALRM);                               \
+               sigprocmask(SIG_UNBLOCK, &set, (sigset_t *)0);          \
+       } while (0)