]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - afs.c
Use non-blocking API for signal handling.
[paraslash.git] / afs.c
diff --git a/afs.c b/afs.c
index e2a517ece2c8451b7a2715bc7f7a943b7680d079..e491e30791f309b27a9ba8873e262323204f41d5 100644 (file)
--- a/afs.c
+++ b/afs.c
@@ -709,16 +709,15 @@ static void signal_pre_select(struct sched *s, struct task *t)
 
 static void afs_signal_post_select(struct sched *s, struct task *t)
 {
-       struct signal_task *st = container_of(t, struct signal_task, task);
        int signum;
 
        if (getppid() == 1) {
                PARA_EMERG_LOG("para_server died\n");
                goto shutdown;
        }
-       if (!FD_ISSET(st->fd, &s->rfds))
+       signum = para_next_signal(&s->rfds);
+       if (signum == 0)
                return;
-       signum = para_next_signal();
        if (signum == SIGHUP) {
                close_afs_tables();
                parse_config_or_die(1);