std: Open the eventfd fd with CLOEXEC flag

Make sure the fd we use to communicate with the parent process is not
leaked to the child process.

Closes #5966
This commit is contained in:
LemonBoy 2020-08-29 20:58:03 +02:00 committed by Andrew Kelley
parent 00301bbdd3
commit ff4fde767f

View File

@ -396,7 +396,7 @@ pub const ChildProcess = struct {
// and execve from the child process to the parent process.
const err_pipe = blk: {
if (builtin.os.tag == .linux) {
const fd = try os.eventfd(0, 0);
const fd = try os.eventfd(0, os.EFD_CLOEXEC);
// There's no distinction between the readable and the writeable
// end with eventfd
break :blk [2]os.fd_t{ fd, fd };