static void loop_remove_event(rb_mt_loop *loop, rb_mt_event *event) { if (event->inserted) { events_remove(&loop->events, event); } callbacks_remove(&loop->callbacks, event); }
/* Close socket but preserve ape_socket struct */ void close_socket(int fd, acetables *g_ape) { ape_socket *co = g_ape->co[fd]; if (g_ape->bufout[fd].buf != NULL) { free(g_ape->bufout[fd].buf); g_ape->bufout[fd].buflen = 0; g_ape->bufout[fd].buf = NULL; g_ape->bufout[fd].allocsize = 0; } if (co->buffer_in.data != NULL) { free(co->buffer_in.data); } if (co->parser.data != NULL) { parser_destroy(&co->parser); } events_remove(g_ape->events, fd); close(fd); }