$OpenBSD$ --- svscan.c.orig Mon Nov 26 22:01:50 2001 +++ svscan.c Mon Nov 26 20:56:21 2001 @@ -1,5 +1,6 @@ #include #include +#include #include "direntry.h" #include "strerr.h" #include "error.h" @@ -173,14 +174,32 @@ } } +int scannow=0; + +static void sighandler(int i) { + scannow=1; +} + main(int argc,char **argv) { + int wait; + char *s; + if (argv[0] && argv[1]) if (chdir(argv[1]) == -1) strerr_die4sys(111,FATAL,"unable to chdir to ",argv[1],": "); - + signal(SIGHUP,sighandler); + s=env_get("WAIT"); + if (s) + wait=atoi(s); + else + wait=5; for (;;) { doit(); - sleep(5); + if (wait) + sleep(wait); + else + while (!scannow) sleep(60); + scannow=0; } }