|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [PATCH] Don't leak file descriptors |
Date: | Mon, 16 Nov 2009 17:26:19 -0600 |
User-agent: | Thunderbird 2.0.0.23 (X11/20090825) |
Kevin Wolf wrote:
We're leaking file descriptors to child processes. Set FD_CLOEXEC on file descriptors that don't need to be passed to children to stop this misbehaviour. Signed-off-by: Kevin Wolf <address@hidden>
pid = fork(); if (pid == 0) { int open_max = sysconf(_SC_OPEN_MAX), i; for (i = 0; i < open_max; i++) { if (i != STDIN_FILENO && i != STDOUT_FILENO && i != STDERR_FILENO && i != fd) { close(i); }Handles this in a less invasive way. I think the only problem we have today is that we use popen() for exec: migration. The solution to that though should be to convert popen to a proper fork/exec() with a pipe.
I'd prefer to introduce a single fork/exec helper that behaved properly instead of having to deal with cloexec everywhere.
Regards, Anthony Liguori
[Prev in Thread] | Current Thread | [Next in Thread] |