Nebula/src/signals.c

38 lines
1010 B
C

/* --------------------------------------------------------------------- *
* signals.c *
* --------------------------------------------------------------------- *
* This file is part of the nebula irc client *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <sys/time.h>
#include "main.h"
#include "network.h"
#include "signals.h"
extern systemStatusRecord sysState;
RETSIGTYPE brokenPipe()
{
signal(SIGPIPE, brokenPipe);
printf("BrokenPipe!\n");
if (sysState.isConnected)
{
printf ("Was connected...n");
if (!close(sysState.socket))
printf("closed ns\n");
} else {
printf("This makes no sense!!! broken pipe on a closed socket!\n");
exit(0);
}
sysState.isConnected = NO;
sysState.isAuthenticated = NO;
}
#include "copyright.h"