From 96a2438d7e1bde7d8023d90974ef7c20857a9010 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Fri, 7 Sep 2012 10:25:21 -0700 Subject: [PATCH] Refresh of dup2 --- src/preload.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/preload.c b/src/preload.c index 4ba38f5f..fb2149bf 100644 --- a/src/preload.c +++ b/src/preload.c @@ -978,8 +978,12 @@ int dup2(int oldfd, int newfd) init_preload(); oldfdi = idm_lookup(&idm, oldfd); - if (oldfdi && oldfdi->type == fd_fork) - fork_passive(oldfd); + if (oldfdi) { + if (oldfdi->state == fd_fork_passive) + fork_passive(oldfd); + else if (oldfdi->state == fd_fork_active) + fork_active(oldfd); + } newfdi = idm_lookup(&idm, newfd); if (newfdi) { -- 2.45.2