|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1983 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[] = "@(#)msgs.c 5.1 (Berkeley) 6/6/85"; ! 9: #endif not lint ! 10: ! 11: /* ! 12: * A package to display what is happening every MSG_INTERVAL seconds ! 13: * if we are slow connecting. ! 14: */ ! 15: ! 16: #include <signal.h> ! 17: #include <stdio.h> ! 18: #include <sys/time.h> ! 19: #include "talk.h" ! 20: ! 21: #define MSG_INTERVAL 4 ! 22: #define LONG_TIME 100000 ! 23: ! 24: char *current_state; ! 25: int current_line = 0; ! 26: ! 27: static struct itimerval itimer; ! 28: static struct timeval wait = { MSG_INTERVAL , 0}; ! 29: static struct timeval undo = { LONG_TIME, 0}; ! 30: ! 31: disp_msg() ! 32: { ! 33: ! 34: message(current_state); ! 35: } ! 36: ! 37: start_msgs() ! 38: { ! 39: ! 40: message(current_state); ! 41: signal(SIGALRM, disp_msg); ! 42: itimer.it_value = itimer.it_interval = wait; ! 43: setitimer(ITIMER_REAL, &itimer, (struct timerval *)0); ! 44: } ! 45: ! 46: end_msgs() ! 47: { ! 48: ! 49: signal(SIGALRM, SIG_IGN); ! 50: timerclear(&itimer.it_value); ! 51: timerclear(&itimer.it_interval); ! 52: setitimer(ITIMER_REAL, &itimer, (struct timerval *)0); ! 53: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.