Tidy up util
[openafs.git] / src / util / softsig.c
index 73e2e6f..24a2412 100644 (file)
@@ -15,6 +15,7 @@
 #define _POSIX_PTHREAD_SEMANTICS
 #include <afs/param.h>
 #include <assert.h>
+#include <stdlib.h>
 #include <stdio.h>
 #ifndef  AFS_NT40_ENV
 #include <signal.h>
@@ -36,7 +37,7 @@ static pthread_t softsig_tid;
 static struct {
     void (*handler) (int);
     int pending;
-#if !defined(AFS_DARWIN60_ENV) || !defined(AFS_NBSD_ENV)
+#if !(defined(AFS_DARWIN60_ENV) || (defined(AFS_NBSD_ENV) && !defined(AFS_NBSD50_ENV)))
     int fatal;
 #endif /* !defined(AFS_DARWIN60_ENV) || !defined(AFS_NBSD_ENV) */
     int inited;
@@ -53,7 +54,7 @@ softsig_thread(void *arg)
     pthread_sigmask(SIG_BLOCK, &ss, &os);
     pthread_sigmask(SIG_SETMASK, &os, NULL);
     sigaddset(&ss, SIGUSR1);
-#if defined(AFS_DARWIN60_ENV) || defined(AFS_NBSD_ENV)
+#if defined(AFS_DARWIN60_ENV) || (defined(AFS_NBSD_ENV) && !defined(AFS_NBSD50_ENV))
     pthread_sigmask (SIG_BLOCK, &ss, NULL);
     sigdelset (&os, SIGUSR1);
 #else /* !defined(AFS_DARWIN60_ENV) && !defined(AFS_NBSD_ENV) */
@@ -67,14 +68,16 @@ softsig_thread(void *arg)
 
     while (1) {
        void (*h) (int);
+#if !defined(AFS_DARwiN60_ENV) && !defined(AFS_NBSD_ENV)
        int sigw;
+#endif
 
        h = NULL;
 
        for (i = 0; i < NSIG; i++) {
            if (softsig_sigs[i].handler && !softsig_sigs[i].inited) {
                sigaddset(&ss, i);
-#if defined(AFS_DARWIN60_ENV) || defined(AFS_NBSD_ENV)
+#if defined(AFS_DARWIN60_ENV) || (defined(AFS_NBSD_ENV) && !defined(AFS_NBSD50_ENV))
                pthread_sigmask (SIG_BLOCK, &ss, NULL);
                sigdelset (&os, i);
 #endif /* defined(AFS_DARWIN60_ENV) || defined(AFS_NBSD_ENV) */
@@ -87,7 +90,7 @@ softsig_thread(void *arg)
            }
        }
        if (i == NSIG) {
-#if defined(AFS_DARWIN60_ENV) || defined(AFS_NBSD_ENV)
+#if defined(AFS_DARWIN60_ENV) || (defined(AFS_NBSD_ENV) && !defined(AFS_NBSD50_ENV))
            sigsuspend (&os);
 #else /* !defined(AFS_DARWIN60_ENV) && !defined(AFS_NBSD_ENV) */
            sigwait(&ss, &sigw);
@@ -100,6 +103,7 @@ softsig_thread(void *arg)
        } else if (h)
            h(i);
     }
+    return NULL;
 }
 
 static void
@@ -109,7 +113,7 @@ softsig_usr1(int signo)
 }
 
 void
-softsig_init()
+softsig_init(void)
 {
     int rc;
     AFS_SIGSET_DECL;
@@ -145,7 +149,7 @@ print_foo(int signo)
 }
 
 int
-main()
+main(int argc, char **argv)
 {
     softsig_init();
     softsig_signal(SIGINT, print_foo);