Browse Source

http: Remove WaitExit from WorkQueue

This function, which waits for all threads to exit, is no longer needed
now that threads are joined instead.

Signed-off-by: Wladimir J. van der Laan <laanwj@gmail.com>
Github-Pull: #12366
Rebased-From: f94665466e
Tree-SHA512: 5cda90b4c081424d637031c0bbf168f177667733ff20b6f77eac84e503f7fad6fab3eb897f191edd819f18b270e3ecea78974978abd102d323f42d9d06216e53
tags/v0.16.1
Wladimir J. van der Laan 3 years ago
parent
commit
93de37a12b
No account linked to committer's email address
1 changed files with 1 additions and 10 deletions
  1. 1
    10
      src/httpserver.cpp

+ 1
- 10
src/httpserver.cpp View File

@@ -99,8 +99,7 @@ public:
numThreads(0)
{
}
/** Precondition: worker threads have all stopped
* (call WaitExit)
/** Precondition: worker threads have all stopped (they have been joined).
*/
~WorkQueue()
{
@@ -141,13 +140,6 @@ public:
running = false;
cond.notify_all();
}
/** Wait for worker threads to exit */
void WaitExit()
{
std::unique_lock<std::mutex> lock(cs);
while (numThreads > 0)
cond.wait(lock);
}
};

struct HTTPPathHandler
@@ -486,7 +478,6 @@ void StopHTTPServer()
LogPrint(BCLog::HTTP, "Stopping HTTP server\n");
if (workQueue) {
LogPrint(BCLog::HTTP, "Waiting for HTTP worker threads to exit\n");
workQueue->WaitExit();
for (auto& thread: g_thread_http_workers) {
thread.join();
}

Loading…
Cancel
Save