From: Sean Hefty Date: Fri, 7 Sep 2012 17:20:53 +0000 (-0700) Subject: rspreload: Fix state checks in dup2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=145e9c03553f4d2a6f4b6217435fb22147f8e57e;p=~shefty%2Flibrdmacm.git rspreload: Fix state checks in dup2 Signed-off-by: Sean Hefty --- 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) {