Message220923
| Author |
neologix |
| Recipients |
Tor.Colvin, lemburg, neologix, vstinner |
| Date |
2014年06月18日.07:03:01 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<CAH_1eM31uVQZhS3Z_ftdBb0rr3Jn+3Ecp2qkWrWWVGhg=Ar+eQ@mail.gmail.com> |
| In-reply-to |
<1402997118.68.0.226193571894.issue21772@psf.upfronthosting.co.za> |
| Content |
> I'm surprised that the Python read() method doesn't handle EINTR internally.
>
> I'm in favor of handling EINTR internally almost everywhere, I mean in the Python modules implemented in the C, not in each call using these C methods. "handling EINTR" means calling PyErr_CheckSignals() which may raises a Python exception (ex: KeyboardInterrupt).
It's good, we all agree on that.
I think the different EINTR-related reports should be closed as #18885
duplicates.
Then we need a patch for #18885: my idea was to write a pair of macros
similar to Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS that would
handle the retry logic, instead of having to check for EINTR and
calling Py_CheckPendingSignals() everywhere. |
|