From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53408) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNno6-0004Z9-7r for qemu-devel@nongnu.org; Wed, 12 Mar 2014 14:23:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WNno0-0003VG-Ac for qemu-devel@nongnu.org; Wed, 12 Mar 2014 14:23:10 -0400 Received: from [49.248.183.90] (port=10947 helo=dhcp223-82.pnq.redhat.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNnnz-0003Uk-Ht for qemu-devel@nongnu.org; Wed, 12 Mar 2014 14:23:04 -0400 From: Pankaj Gupta Date: Wed, 12 Mar 2014 22:24:27 +0530 Message-Id: <1394643267-1194-1-git-send-email-pagupta@redhat.com> Subject: [Qemu-devel] [PATCH] Avoiding extra iterations while closing file fd List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Pankaj Gupta , stefanha@redhat.com, aliguori@amazon.com Avoiding iterations for fd 0, 1 & 2 when we are closing file fds in child process. Signed-off-by: Pankaj Gupta --- net/tap.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/net/tap.c b/net/tap.c index 2d5099b..3253838 100644 --- a/net/tap.c +++ b/net/tap.c @@ -364,11 +364,8 @@ static int launch_script(const char *setup_script, const char *ifname, int fd) 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) { + for (i = 3; i < open_max; i++) { + if (i != fd) { close(i); } } @@ -449,11 +446,8 @@ static int net_bridge_run_helper(const char *helper, const char *bridge) char br_buf[6+IFNAMSIZ] = {0}; char helper_cmd[PATH_MAX + sizeof(fd_buf) + sizeof(br_buf) + 15]; - for (i = 0; i < open_max; i++) { - if (i != STDIN_FILENO && - i != STDOUT_FILENO && - i != STDERR_FILENO && - i != sv[1]) { + for (i = 3; i < open_max; i++) { + if (i != sv[1]) { close(i); } } -- 1.8.3.1