|
|
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.