X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=afs.c;h=bc42026e460ac7ba5f38f992ae17e1f18a3c5ce9;hp=e2e252152cf7c300c9842ae153a5fcbaa1b45271;hb=93ea9f34dcb35755568e6c94f9b9445fd4d1984a;hpb=368d49f12b32005b9a32abe95c6aee467ae889b0 diff --git a/afs.c b/afs.c index e2e25215..bc42026e 100644 --- a/afs.c +++ b/afs.c @@ -757,8 +757,8 @@ static void signal_post_select(struct sched *s, struct task *t) { struct signal_task *st = container_of(t, struct signal_task, task); if (getppid() == 1) { - t->error = -E_AFS_PARENT_DIED; - return; + PARA_EMERG_LOG("para_server died\n"); + goto shutdown; } if (!FD_ISSET(st->fd, &s->rfds)) return; @@ -771,6 +771,8 @@ static void signal_post_select(struct sched *s, struct task *t) init_admissible_files(current_mop); return; } + PARA_EMERG_LOG("terminating on signal %d\n", st->signum); +shutdown: sched_shutdown(); t->error = -E_AFS_SIGNAL; }