aacdec: Fix a brown paper bag bug.
[paraslash.git] / server.c
index ba5dabde066050825a46ef3abae82556474e7226..0e256053e81f531a2cb178fd57f45ff935b437e6 100644 (file)
--- a/server.c
+++ b/server.c
 #include "string.h"
 #include "afs.h"
 #include "server.h"
+#include "list.h"
+#include "send.h"
 #include "vss.h"
 #include "config.h"
 #include "close_on_fork.h"
-#include "list.h"
-#include "send.h"
 #include "net.h"
 #include "daemon.h"
 #include "ipc.h"
@@ -276,16 +276,13 @@ static void handle_sighup(void)
                kill(mmd->afs_pid, SIGHUP);
 }
 
-static void signal_post_select(struct sched *s, struct task *t)
+static void signal_post_select(struct sched *s, __a_unused struct task *t)
 {
-       struct signal_task *st = container_of(t, struct signal_task, task);
-       int signum;
-
-       if (!FD_ISSET(st->fd, &s->rfds))
-               return;
+       int signum = para_next_signal(&s->rfds);
 
-       signum = para_next_signal();
        switch (signum) {
+       case 0:
+               return;
        case SIGHUP:
                handle_sighup();
                break;