Le Fri, 1 Feb 2013 15:18:39 +0100, "Amaury Forgeot d'Arc" email@example.com a écrit :
2013/2/1 Charles-François Natali firstname.lastname@example.org
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)
I don't think we want to retry low-level system calls (but I'm not sure we're currently consistent in that regard).