]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
Refresh of dup2
authorSean Hefty <sean.hefty@intel.com>
Fri, 7 Sep 2012 17:25:21 +0000 (10:25 -0700)
committerSean Hefty <sean.hefty@intel.com>
Fri, 7 Sep 2012 17:25:21 +0000 (10:25 -0700)
src/preload.c

index 4ba38f5f28c75d7e592d71da1aa9a2539f075a94..fb2149bf4673ff821bfdc78a644875a2754121fa 100644 (file)
@@ -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) {