]> arthur.barton.de Git - netatalk.git/commitdiff
Add sigquit
authorFrank Lahm <franklahm@googlemail.com>
Fri, 20 May 2011 15:27:00 +0000 (17:27 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Fri, 20 May 2011 15:27:00 +0000 (17:27 +0200)
etc/afpd/main.c

index 9e34712e79f6b12887dd15a52f39a8c707b7b47d..5e4da980f62b70081ae79d938a545eac999a46cf 100644 (file)
@@ -109,17 +109,16 @@ static void fd_reset_listening_sockets(void)
 /* ------------------ */
 static void afp_goaway(int sig)
 {
+        AFPConfig *config;
 
 #ifndef NO_DDP
     asp_kill(sig);
 #endif /* ! NO_DDP */
 
-
     switch( sig ) {
 
     case SIGTERM :
         LOG(log_note, logtype_afpd, "AFP Server shutting down on SIGTERM");
-        AFPConfig *config;
 
         if (server_children)
             server_child_kill(server_children, CHILD_DSIFORK, sig);
@@ -131,6 +130,17 @@ static void afp_goaway(int sig)
         exit(0);
         break;
 
+    case SIGQUIT:
+        LOG(log_note, logtype_afpd, "AFP Server shutting down on SIGQUIT, NOT disconnecting clients");
+
+        for (config = configs; config; config = config->next)
+            if (config->server_cleanup)
+                config->server_cleanup(config);
+
+        server_unlock(default_options.pidfile);
+        exit(0);
+        break;
+
     case SIGUSR1 :
         nologin++;
         auth_unload();