Exemple #1
0
/*
 * 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();
}
Exemple #2
0
/*
 * 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();
}