/* * NAME: conn->finish() * DESCRIPTION: terminate connections */ void conn_finish() { int n; connection *conn; for (n = nusers, conn = connections; n > 0; --n, conn++) { if (conn->fd >= 0) { close(conn->fd); } } for (n = 0; n < ntdescs; n++) { if (tdescs[n].in6 >= 0) { close(tdescs[n].in6); } if (tdescs[n].in4 >= 0) { close(tdescs[n].in4); } } for (n = 0; n < nbdescs; n++) { if (bdescs[n].in6 >= 0) { close(bdescs[n].in6); } if (bdescs[n].in4 >= 0) { close(bdescs[n].in4); } if (udescs[n].in6 >= 0) { close(udescs[n].in6); } if (udescs[n].in4 >= 0) { close(udescs[n].in4); } } ipa_finish(); }
/* * NAME: conn->clear() * DESCRIPTION: clean up connections */ void conn_clear() { int n; for (n = 0; n < ntdescs; n++) { if (tdescs[n].in6 >= 0) { close(tdescs[n].in6); } if (tdescs[n].in4 >= 0) { close(tdescs[n].in4); } } for (n = 0; n < nbdescs; n++) { if (bdescs[n].in6 >= 0) { close(bdescs[n].in6); } if (bdescs[n].in4 >= 0) { close(bdescs[n].in4); } if (udescs[n].in6 >= 0) { close(udescs[n].in6); } if (udescs[n].in4 >= 0) { close(udescs[n].in4); } } ipa_finish(); }