Files
Arquivotheca.Solaris-2.5/cmd/cmd-inet/usr.bin/talk/msgs.c
seta75D 7c4988eac0 Init
2021-10-11 19:38:01 -03:00

81 lines
1.8 KiB
C
Executable File

/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#ident "@(#)msgs.c 1.3 94/10/04 SMI" /* SVr4.0 1.2 */
/*
* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* PROPRIETARY NOTICE (Combined)
*
* This source code is unpublished proprietary information
* constituting, or derived under license from AT&T's UNIX(r) System V.
* In addition, portions of such source code were derived from Berkeley
* 4.3 BSD under license from the Regents of the University of
* California.
*
*
*
* Copyright Notice
*
* Notice of copyright on this source code product does not indicate
* publication.
*
* (c) 1986,1987,1988.1989 Sun Microsystems, Inc
* (c) 1983,1984,1985,1986,1987,1988,1989 AT&T.
* All rights reserved.
*
*/
/*
* a package to display what is happening every MSG_INTERVAL seconds
* if we are slow connecting.
*/
#include <signal.h>
#include <stdio.h>
#include <sys/time.h>
#include "talk.h"
#ifdef SYSV
#define signal(s, f) sigset(s, f)
#endif /* SYSV */
#define MSG_INTERVAL 4
#define LONG_TIME 100000
char *current_state;
int current_line = 0;
static struct itimerval itimer;
static struct timeval wait = { MSG_INTERVAL, 0};
static void
disp_msg()
{
message(current_state);
}
void
start_msgs()
{
message(current_state);
signal(SIGALRM, (void (*)())disp_msg);
itimer.it_value = itimer.it_interval = wait;
setitimer(ITIMER_REAL, &itimer, (struct itimerval *)0);
}
void
end_msgs()
{
signal(SIGALRM, SIG_IGN);
timerclear(&itimer.it_value);
timerclear(&itimer.it_interval);
setitimer(ITIMER_REAL, &itimer, (struct itimerval *)0);
}