/* kreator, 1998. * mmaping session */ #include #include #include #include #include #include #include #include caddr_t mmapptr; struct stat buf; void fatal(char *msg) { puts(msg); exit(EXIT_FAILURE); } void termination_handler(int signum) { munmap(mmapptr, buf.st_size); fatal("exiting gracefully."); } int main(int argc, char **argv) { int fd, i; if (argc<2) fatal("wrong params."); if (signal(SIGINT, termination_handler)==SIG_IGN) signal(SIGINT, SIG_IGN); if (signal(SIGHUP, termination_handler)==SIG_IGN) signal(SIGHUP, SIG_IGN); if (signal(SIGTERM, termination_handler)==SIG_IGN) signal(SIGTERM, SIG_IGN); if (signal(SIGKILL, termination_handler)==SIG_IGN) signal(SIGKILL, SIG_IGN); if (signal(SIGQUIT, termination_handler)==SIG_IGN) signal(SIGQUIT, SIG_IGN); for(i=1; i