Browse Source

http: Force-exit event loop after predefined time

This makes sure that the event loop eventually terminates, even if an
event (like an open timeout, or a hanging connection) happens to be
holding it up.
0.13
Wladimir J. van der Laan 9 years ago
parent
commit
ec908d5f7a
  1. 7
      src/httpserver.cpp

7
src/httpserver.cpp

@ -457,6 +457,13 @@ void InterruptHTTPServer()
// Reject requests on current connections // Reject requests on current connections
evhttp_set_gencb(eventHTTP, http_reject_request_cb, NULL); evhttp_set_gencb(eventHTTP, http_reject_request_cb, NULL);
} }
if (eventBase) {
// Force-exit event loop after predefined time
struct timeval tv;
tv.tv_sec = 10;
tv.tv_usec = 0;
event_base_loopexit(eventBase, &tv);
}
if (workQueue) if (workQueue)
workQueue->Interrupt(); workQueue->Interrupt();
} }

Loading…
Cancel
Save