MCPcopy Create free account
hub / github.com/apache/qpid-proton / recycle_result

Function recycle_result

c/src/proactor/win_iocp.cpp:3157–3173  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3155}
3156
3157static void recycle_result(accept_result_t *accept_result) {
3158 psocket_t *ps = (psocket_t *) accept_result->base.iocpd->active_completer;
3159 pn_listener_t *l = ps->listener;
3160 reset_accept_result(accept_result);
3161 accept_result->new_sock = create_same_type_socket(ps->iocpd);
3162 {
3163 csguard g(&l->context.cslock);
3164 if (l->context.closing && accept_result->new_sock) {
3165 closesocket(accept_result->new_sock->socket);
3166 accept_result->new_sock->socket = INVALID_SOCKET;
3167 }
3168 begin_accept(ps->iocpd->acceptor, accept_result); // cleans up if closing
3169 l->context.completion_ops--;
3170 if (l->context.closing && listener_maybe_free(l, g))
3171 return;
3172 }
3173}
3174
3175void pn_listener_accept2(pn_listener_t *l, pn_connection_t *c, pn_transport_t *t) {
3176 accept_result_t *accept_result = NULL;

Callers 1

proactor_completion_loopFunction · 0.85

Calls 4

listener_maybe_freeFunction · 0.85
reset_accept_resultFunction · 0.70
create_same_type_socketFunction · 0.70
begin_acceptFunction · 0.70

Tested by

no test coverage detected