kore

Kore is a web application platform for writing scalable, concurrent web based processes in C or Python.
Commits | Files | Refs | README | LICENSE | git clone https://git.kore.io/kore.git

commit 21f466c8b62a10327e58eea09a72606d2b433e1a
parent 66e893f1d41a48c638a99c1e5b7148ab5dba37a2
Author: Joris Vink <joris@coders.se>
Date:   Wed,  8 Mar 2023 20:11:49 +0100

Move CPU pinning to kore_worker_started().

When trying to pin a worker to a certain CPU, Kore will log
if it fails but still continue.

The problem is that it tried to do it a bit early and the logging
facilities were not yet setup, causing it to be unable to continue
if kore_log() was called too early.

By moving it to kore_worker_started() we are certain all facilities
are up and running correctly.

Diffstat:
src/worker.c | 6+++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/worker.c b/src/worker.c @@ -450,9 +450,6 @@ kore_worker_entry(struct kore_worker *kw) kore_platform_proctitle(kore_worker_name(kw->id)); - if (worker_set_affinity == 1) - kore_platform_worker_setcpu(kw); - kore_pid = kw->pid; kore_signal_setup(); @@ -752,6 +749,9 @@ kore_worker_started(void) { const char *chroot; + if (worker_set_affinity == 1) + kore_platform_worker_setcpu(worker); + if (worker->ps->skip_chroot) chroot = "root"; else