153339857Sdist /* 2*4bf38ee7Sbostic * Copyright (c) 1983, 1993 3*4bf38ee7Sbostic * The Regents of the University of California. All rights reserved. 46eac4e84Sbostic * 5068cc2b8Sbostic * %sccs.include.redist.c% 653339857Sdist */ 753339857Sdist 8578aa161Skarels #ifndef lint 9*4bf38ee7Sbostic static char sccsid[] = "@(#)msgs.c 8.1 (Berkeley) 06/06/93"; 106eac4e84Sbostic #endif /* not lint */ 11fa81bb9eSkarels 12fa81bb9eSkarels /* 13578aa161Skarels * A package to display what is happening every MSG_INTERVAL seconds 14fa81bb9eSkarels * if we are slow connecting. 15fa81bb9eSkarels */ 16fa81bb9eSkarels 17905ac22fSbostic #include <sys/time.h> 18fa81bb9eSkarels #include <signal.h> 19fa81bb9eSkarels #include <stdio.h> 20fa81bb9eSkarels #include "talk.h" 21fa81bb9eSkarels 22fa81bb9eSkarels #define MSG_INTERVAL 4 23fa81bb9eSkarels 24fa81bb9eSkarels char *current_state; 25fa81bb9eSkarels int current_line = 0; 26fa81bb9eSkarels 27905ac22fSbostic void disp_msg()28fa81bb9eSkarelsdisp_msg() 29fa81bb9eSkarels { 30fa81bb9eSkarels message(current_state); 31fa81bb9eSkarels } 32fa81bb9eSkarels start_msgs()33fa81bb9eSkarelsstart_msgs() 34fa81bb9eSkarels { 3535404f6dSedward struct itimerval itimer; 36578aa161Skarels 37fa81bb9eSkarels message(current_state); 38fa81bb9eSkarels signal(SIGALRM, disp_msg); 3935404f6dSedward itimer.it_value.tv_sec = itimer.it_interval.tv_sec = MSG_INTERVAL; 4035404f6dSedward itimer.it_value.tv_usec = itimer.it_interval.tv_usec = 0; 41905ac22fSbostic setitimer(ITIMER_REAL, &itimer, (struct itimerval *)0); 42fa81bb9eSkarels } 43fa81bb9eSkarels end_msgs()44fa81bb9eSkarelsend_msgs() 45fa81bb9eSkarels { 4635404f6dSedward struct itimerval itimer; 47578aa161Skarels 48fa81bb9eSkarels timerclear(&itimer.it_value); 49fa81bb9eSkarels timerclear(&itimer.it_interval); 50905ac22fSbostic setitimer(ITIMER_REAL, &itimer, (struct itimerval *)0); 5135404f6dSedward signal(SIGALRM, SIG_DFL); 52fa81bb9eSkarels } 53