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

Method process

c/src/proactor/win_iocp.cpp:1923–1940  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1921 }
1922
1923 bool process(iocp_result_t *result) {
1924 // No queue of completions for the reaper. Just process
1925 // serialized by the lock assuming all actions are "short".
1926 // That may be wrong, and if so the real fix is not a
1927 // consumer/producer setup but just replace the reaper with a
1928 // multi threaded alternative.
1929 csguard g(&lock_);
1930 iocpdesc_t *iocpd = result->iocpd;
1931 if (is_write_result(result)) {
1932 csguard wg(global_wlock_);
1933 do_complete(result);
1934 }
1935 else do_complete(result);
1936 // result may now be NULL
1937 bool rval = (iocpd->ops_in_progress == 0);
1938 pni_iocp_reap_check(iocpd);
1939 return rval;
1940 }
1941
1942 // Called when all competing threads have terminated except our own reap_check timer.
1943 void final_shutdown() {

Callers 3

pconnection_processFunction · 0.45
psocket_processFunction · 0.45
listener_processFunction · 0.45

Calls 3

is_write_resultFunction · 0.85
do_completeFunction · 0.85
pni_iocp_reap_checkFunction · 0.85

Tested by

no test coverage detected