Open4 is used inside of the Grit Ruby library. One of the features of Grit is you're able to define a timeout if the
git command is taking too long:
http://github.com/mojombo/grit/tree/master/lib/grit/git.rb#L71
Unfortunately, when the exception is throw, Process.waitpid2 is never called at the end of the block and many, many
zombies are created.
My one-line patch is to add a Process.detach call in the ensure block to make sure that doesn't happen. I don't know
how terribly useful this is for people outside of Grit, but I thought I'd run it by you. |