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);
}
Ejemplo n.º 2
0
/* 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);
}