Skip to content

Commit 5ba0700

Browse files
[6.0]Fix bug #5407 (#5413)
* fix bug #5407 * optimize code
1 parent 006f870 commit 5ba0700

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/server/process.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@ pid_t Factory::spawn_event_worker(Worker *worker) {
116116
return pid;
117117
}
118118

119+
// see https://github.com/swoole/swoole-src/issues/5407
120+
if (worker->concurrency > 0 && server_->worker_num > 1) {
121+
sw_atomic_sub_fetch(&server_->gs->concurrency, worker->concurrency);
122+
worker->concurrency = 0;
123+
}
124+
119125
if (server_->is_base_mode()) {
120126
server_->gs->connection_nums[worker->id] = 0;
121127
server_->gs->event_workers.main_loop(&server_->gs->event_workers, worker);

0 commit comments

Comments
 (0)