2013/2/1 Charles-François Natali <cf.natali@gmail.com>
>> dup2(oldfd, newfd) closes oldfd.
>
> No, it doesn't close oldfd.
>
> It may close newfd if it was already open.

(I guess that's what he meant).

Anyway, only dup2() should probably release the GIL.

One reasonable heuristic is to check the man page: if the syscall can
return EINTR, then the GIL should be released.

Should the call be retried in the EINTR case?
(After a PyErr_CheckSignals)

-- 
Amaury Forgeot d'Arc