diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2025-07-31 11:54:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-31 11:54:57 +0200 |
commit | 2e7c07f4d10c1b391a7138471c49f4aae3c47d8d (patch) | |
tree | 65f4e7bc84ef10518c18849e73f4413223f027b4 | |
parent | e70d5e8a12e9889822631527654fe4b89c8a0dbd (diff) | |
download | libuv-v1.x.tar.gz libuv-v1.x.zip |
This apparently manifests when one passes `--cpu=.5` to docker because
then /sys/fs/cgroup/cpu.max looks like `50000 100000`, and 50000 divided
by 100000 is zero when using integer math.
Return 1 in that case, indicating there is at least one CPU available.
Returning 0 makes no sense because there is always at least one CPU
available, otherwise the program wouldn't be running.
Fixes: https://github.com/nodejs/node/issues/59200
-rw-r--r-- | src/unix/linux.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/unix/linux.c b/src/unix/linux.c index 1a62d78d..4bfb2d2e 100644 --- a/src/unix/linux.c +++ b/src/unix/linux.c @@ -2363,6 +2363,8 @@ static int uv__get_cgroupv2_constrained_cpu(const char* cgroup, goto next; *quota = limit / period; + if (*quota == 0) + *quota = 1; if (*quota < min_quota) min_quota = *quota; |