Subprocess Process Group Improvements
authorDarren Mo <dmo@fb.com>
Thu, 5 Feb 2015 17:56:04 +0000 (09:56 -0800)
committerSara Golemon <sgolemon@fb.com>
Wed, 11 Feb 2015 02:01:59 +0000 (18:01 -0800)
Summary: Eliminated a potential race condition by removing unnecessary code.

Test Plan: Unit tests pass.

Reviewed By: lesha@fb.com

Subscribers: tudorb, trunkagent, folly-diffs@, yfeldblum

FB internal diff: D1824924

Signature: t1:1824924:1423102017:6bce388dccf9126d6ac3a1741d8300a51c5276ed

Blame Revision: D1492526

folly/Subprocess.cpp

index 8de5d36979b8e28b1d3cf260cd66083cc9d8b6b3..d9b21cffc40ae05dd62575bdc067e58b32075530 100644 (file)
@@ -289,14 +289,6 @@ void Subprocess::spawn(
   // child has exited and can be immediately waited for.  In all other cases,
   // we have no way of cleaning up the child.
 
-  if (options.processGroupLeader_) {
-    // This is done both in the parent and the child to avoid the race where
-    // the parent assumes that the child is a leader, but the child has not
-    // yet run setprp().  Not checking error codes since we're deliberately
-    // racing the child, which may already have run execve(), and expect to
-    // lose frequently.
-    setpgid(pid_, pid_);
-  }
   // Close writable side of the errFd pipe in the parent process
   CHECK_ERR(::close(errFds[1]));
   errFds[1] = -1;