From: Sean Hefty Date: Fri, 7 Sep 2012 17:25:21 +0000 (-0700) Subject: Refresh of dup2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=96a2438d7e1bde7d8023d90974ef7c20857a9010;p=~shefty%2Flibrdmacm.git Refresh of dup2 --- 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) {