]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/main.c
Use sigaction() instead of signal() for ignoring SIGPIPE
[netatalk.git] / etc / afpd / main.c
index e89d0a2e9e58d6aacf2e2cc5af061a56959bb5dc..afbd90e059331d30183bcacbac3c09562ebbc1dc 100644 (file)
@@ -253,6 +253,13 @@ int main(int ac, char **av)
         afp_exit(EXITERR_SYS);
     }
 #endif
+
+    sv.sa_handler = SIG_IGN;
+    sigemptyset( &sv.sa_mask );
+    if (sigaction(SIGPIPE, &sv, NULL ) < 0 ) {
+        LOG(log_error, logtype_afpd, "main: sigaction: %s", strerror(errno) );
+        afp_exit(EXITERR_SYS);
+    }
     
     sv.sa_handler = afp_goaway; /* handler for all sigs */