/* destroy a wrepl_socket destructor */ static int wrepl_socket_destructor(struct wrepl_socket *sock) { if (sock->dead) { sock->free_skipped = true; return -1; } wrepl_socket_dead(sock, NT_STATUS_LOCAL_DISCONNECT); return 0; }
static void wrepl_request_timeout_handler(struct event_context *ev, struct timed_event *te, struct timeval t, void *ptr) { struct wrepl_request *req = talloc_get_type(ptr, struct wrepl_request); wrepl_socket_dead(req->wrepl_socket, NT_STATUS_IO_TIMEOUT); }
static void wrepl_error(void *private_data, NTSTATUS status) { struct wrepl_socket *wrepl_socket = talloc_get_type(private_data, struct wrepl_socket); wrepl_socket_dead(wrepl_socket, status); }