X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fstatd%2Fstatd.c;h=127e2580516d461d3a6fe0eeeed5ab4b1e227561;hp=b1e73046c1285f5c64f6ed242a9f95c13c45b9c4;hb=955d48dbcf0c75f263f2573c998acc65f95ededa;hpb=55ce21003ee0fb12fe5ef70909cdc8ce00b803e4 diff --git a/utils/statd/statd.c b/utils/statd/statd.c index b1e7304..127e258 100644 --- a/utils/statd/statd.c +++ b/utils/statd/statd.c @@ -93,7 +93,9 @@ static void killer (int sig) { log (L_FATAL, "Caught signal %d, un-registering and exiting.", sig); - pmap_unset (SM_PROG, SM_VERS); + if (!(run_mode & MODE_NOTIFY_ONLY)) + pmap_unset (SM_PROG, SM_VERS); + exit (0); } @@ -307,7 +309,14 @@ int main (int argc, char **argv) statd_get_socket(out_port); for (;;) { - pmap_unset (SM_PROG, SM_VERS); + if (!(run_mode & MODE_NOTIFY_ONLY)) { + /* Do not do pmap_unset() when running in notify mode. + * We may clear the portmapper record for a statd not + * running in notify mode disabling it. + * Juan C. Gomez j_carlos_gomez@yahoo.com + */ + pmap_unset (SM_PROG, SM_VERS); + } change_state (); shuffle_dirs (); /* Move directory names around */ notify_hosts (); /* Send out notify requests */