aboutsummaryrefslogtreecommitdiff
path: root/src/io/io_linux.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-12-22 21:37:33 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-12-22 21:37:33 -0800
commit9160c9ae318e3b38134936757bb48e2b4387c105 (patch)
tree8a69a5fca077ffc99061b6757a81d77404c49305 /src/io/io_linux.zig
parent8e05fbf43fe75d8c01cbcf2c4fc79d4af2b25346 (diff)
downloadbun-9160c9ae318e3b38134936757bb48e2b4387c105.tar.gz
bun-9160c9ae318e3b38134936757bb48e2b4387c105.tar.zst
bun-9160c9ae318e3b38134936757bb48e2b4387c105.zip
Fix spawning child bun processes
Diffstat (limited to 'src/io/io_linux.zig')
-rw-r--r--src/io/io_linux.zig7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/io/io_linux.zig b/src/io/io_linux.zig
index b22dc92a5..05a39a4d7 100644
--- a/src/io/io_linux.zig
+++ b/src/io/io_linux.zig
@@ -68,8 +68,10 @@ pub fn init(entries_: u12, flags: u32) !IO {
while (true) {
ring = IO_Uring.init(entries, flags) catch |err| {
if (err == error.SystemResources) {
- if (entries < 4) return error.SystemResources;
- entries /= 2;
+ if (entries <= 8) return error.SystemResources;
+ // We divide by 4 instead of 2
+ // This way, a child process that uses io_uring can still function
+ entries /= 4;
continue;
}
@@ -77,7 +79,6 @@ pub fn init(entries_: u12, flags: u32) !IO {
};
break;
}
-
return IO{ .ring = ring };
}