socat/xioexit.c

28 lines
740 B
C
Raw Normal View History

2008-01-28 21:37:16 +00:00
/* source: xioexit.c */
/* Copyright Gerhard Rieger and contributors (see file CHANGES) */
2008-01-27 12:00:08 +00:00
/* Published under the GNU General Public License V.2, see file COPYING */
/* this file contains the source for the extended exit function */
#include "xiosysincludes.h"
#include "compat.h"
2008-01-27 12:00:08 +00:00
#include "xio.h"
2015-01-12 20:46:16 +00:00
#include "error.h"
2008-01-27 12:00:08 +00:00
/* this function closes all open xio sockets on exit, if they are still open.
It must be registered with atexit(). */
2008-01-27 12:00:08 +00:00
void xioexit(void) {
int i;
2015-01-12 20:46:16 +00:00
diag_in_handler = 0;
Debug("starting xioexit()");
2008-01-27 12:00:08 +00:00
for (i = 0; i < XIO_MAXSOCK; ++i) {
if (sock[i] != NULL && sock[i]->tag != XIO_TAG_INVALID &&
!(sock[i]->tag & XIO_TAG_CLOSED)) {
2008-01-27 12:00:08 +00:00
xioclose(sock[i]);
}
}
2015-01-12 20:46:16 +00:00
Debug("finished xioexit()");
2008-01-27 12:00:08 +00:00
}