mirror of
https://github.com/yhirose/cpp-httplib
synced 2024-11-21 14:29:10 -07:00
Fixed thread pool problem.
This commit is contained in:
parent
1b95bf8cc3
commit
3629f87627
1 changed files with 9 additions and 6 deletions
15
httplib.h
15
httplib.h
|
@ -335,15 +335,18 @@ private:
|
|||
|
||||
void operator()() {
|
||||
for (;;) {
|
||||
std::unique_lock<std::mutex> lock(pool_.mutex_);
|
||||
std::function<void()> fn;
|
||||
{
|
||||
std::unique_lock<std::mutex> lock(pool_.mutex_);
|
||||
|
||||
pool_.cond_.wait(
|
||||
lock, [&] { return !pool_.jobs_.empty() || pool_.shutdown_; });
|
||||
pool_.cond_.wait(
|
||||
lock, [&] { return !pool_.jobs_.empty() || pool_.shutdown_; });
|
||||
|
||||
if (pool_.shutdown_) { break; }
|
||||
if (pool_.shutdown_) { break; }
|
||||
|
||||
auto fn = pool_.jobs_.front();
|
||||
pool_.jobs_.pop_front();
|
||||
fn = pool_.jobs_.front();
|
||||
pool_.jobs_.pop_front();
|
||||
}
|
||||
|
||||
assert(true == (bool)fn);
|
||||
fn();
|
||||
|
|
Loading…
Reference in a new issue