[Python-Dev] Release or not release the GIL

Antoine Pitrou solipsis at pitrou.net
Fri Feb 1 16:22:42 CET 2013


Le Fri, 1 Feb 2013 15:18:39 +0100,
"Amaury Forgeot d'Arc" <amauryfa at gmail.com> a écrit :
> 2013/2/1 Charles-François Natali <cf.natali at 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)

I don't think we want to retry low-level system calls (but I'm not sure
we're currently consistent in that regard).

Regards

Antoine.




More information about the Python-Dev mailing list