mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2025-05-12 06:01:40 +00:00
Fixed thread pool problem.
This commit is contained in:
parent
1b95bf8cc3
commit
3629f87627
15
httplib.h
15
httplib.h
@ -335,15 +335,18 @@ private:
|
|||||||
|
|
||||||
void operator()() {
|
void operator()() {
|
||||||
for (;;) {
|
for (;;) {
|
||||||
std::unique_lock<std::mutex> lock(pool_.mutex_);
|
std::function<void()> fn;
|
||||||
|
{
|
||||||
|
std::unique_lock<std::mutex> lock(pool_.mutex_);
|
||||||
|
|
||||||
pool_.cond_.wait(
|
pool_.cond_.wait(
|
||||||
lock, [&] { return !pool_.jobs_.empty() || pool_.shutdown_; });
|
lock, [&] { return !pool_.jobs_.empty() || pool_.shutdown_; });
|
||||||
|
|
||||||
if (pool_.shutdown_) { break; }
|
if (pool_.shutdown_) { break; }
|
||||||
|
|
||||||
auto fn = pool_.jobs_.front();
|
fn = pool_.jobs_.front();
|
||||||
pool_.jobs_.pop_front();
|
pool_.jobs_.pop_front();
|
||||||
|
}
|
||||||
|
|
||||||
assert(true == (bool)fn);
|
assert(true == (bool)fn);
|
||||||
fn();
|
fn();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user