|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1987 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: */ ! 6: ! 7: #ifndef lint ! 8: static char sccsid[] = "@(#)update.c 4.3 (Berkeley) 3/28/87"; ! 9: #endif ! 10: ! 11: /* ! 12: * Update the file system every 30 seconds. ! 13: * For cache benefit, open certain system directories. ! 14: */ ! 15: ! 16: #include <sys/time.h> ! 17: #include <sys/file.h> ! 18: #include <sys/signal.h> ! 19: #include <syslog.h> ! 20: #include <stdio.h> ! 21: ! 22: char *fillst[] = { ! 23: "/bin", ! 24: "/lib", ! 25: "/usr", ! 26: "/usr/bin", ! 27: "/usr/lib", ! 28: "/usr/ucb", ! 29: 0, ! 30: }; ! 31: ! 32: main() ! 33: { ! 34: struct itimerval value; ! 35: register char **f; ! 36: extern int sync(); ! 37: ! 38: if (fork()) ! 39: exit(0); ! 40: (void)close(0); ! 41: (void)close(1); ! 42: (void)close(2); ! 43: for (f = fillst; *f; f++) ! 44: (void)open(*f, O_RDONLY, 0); ! 45: (void)signal(SIGALRM, sync); ! 46: value.it_interval.tv_sec = 30; ! 47: value.it_interval.tv_usec = 0; ! 48: value.it_value = value.it_interval; ! 49: if (setitimer(ITIMER_REAL, &value, (struct itimerval *)NULL)) { ! 50: perror("update: setitimer"); ! 51: exit(1); ! 52: } ! 53: for (;;) ! 54: pause(); ! 55: /*NOTREACHED*/ ! 56: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.