static void teardown(void) { core_worker_teardown(); core_server_teardown(); core_admin_teardown(); admin_process_teardown(); process_teardown(); slab_teardown(); compose_teardown(); parse_teardown(); response_teardown(); request_teardown(); procinfo_teardown(); time_teardown(); timing_wheel_teardown(); tcp_teardown(); sockio_teardown(); event_teardown(); dbuf_teardown(); buf_teardown(); debug_teardown(); log_teardown(); }
int socket_base_close(int s) { socket_internal_t *current_socket = socket_base_get_socket(s); if (udp_socket_compliancy(s)) { memset(current_socket, 0, sizeof(socket_internal_t)); return 0; } else if (tcp_socket_compliancy(s)) { return tcp_teardown(current_socket); } printf("Socket Type not supported!\n"); return -1; }
int main(int argc, char *argv[]) { char *dummy; int sock[2]; long port; if (argc != 2) usage(); port = strtol(argv[1], &dummy, 10); if (port < 0 || port > 65535 || *dummy != '\0') usage(); #ifndef SO_NOSIGPIPE warnx("sigpipe: SO_NOSIGPIPE not defined, skipping some tests"); #endif /* * UNIX domain socketpair(). */ if (socketpair(PF_LOCAL, SOCK_STREAM, 0, sock) < 0) err(-1, "socketpair(PF_LOCAL, SOCK_STREAM)"); test_send_wantsignal("test_send_wantsignal(PF_LOCAL)", sock[0], sock[1]); #ifdef SO_NOSIGPIPE if (socketpair(PF_LOCAL, SOCK_STREAM, 0, sock) < 0) err(-1, "socketpair(PF_LOCAL, SOCK_STREAM)"); test_send_dontsignal("test_send_dontsignal(PF_LOCAL)", sock[0], sock[1]); #endif if (socketpair(PF_LOCAL, SOCK_STREAM, 0, sock) < 0) err(-1, "socketpair(PF_LOCAL, SOCK_STREAM)"); test_write_wantsignal("test_write_wantsignal(PF_LOCAL)", sock[0], sock[1]); #ifdef SO_NOSIGPIPE if (socketpair(PF_LOCAL, SOCK_STREAM, 0, sock) < 0) err(-1, "socketpair(PF_LOCAL, SOCK_STREAM)"); test_write_dontsignal("test_write_dontsignal(PF_LOCAL)", sock[0], sock[1]); #endif /* * TCP. */ tcp_setup(port); tcp_pair(port, sock); test_send_wantsignal("test_send_wantsignal(PF_INET)", sock[0], sock[1]); #ifdef SO_NOSIGPIPE tcp_pair(port, sock); test_send_dontsignal("test_send_dontsignal(PF_INET)", sock[0], sock[1]); #endif tcp_pair(port, sock); test_write_wantsignal("test_write_wantsignal(PF_INET)", sock[0], sock[1]); #ifdef SO_NOSIGPIPE tcp_pair(port, sock); test_write_dontsignal("test_write_dontsignal(PF_INET)", sock[0], sock[1]); #endif tcp_teardown(); fprintf(stderr, "PASS\n"); return (0); }