Annotation of 43BSD/ucb/talk/msgs.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.