summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Python/errors.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/Python/errors.c b/Python/errors.c
index f1e7151..70a85ba 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -148,7 +148,12 @@ object *
err_errno(exc)
object *exc;
{
- object *v = newtupleobject(2);
+ object *v;
+ if (errno == EINTR && intrcheck()) {
+ err_set(KeyboardInterrupt);
+ return NULL;
+ }
+ v = newtupleobject(2);
if (v != NULL) {
settupleitem(v, 0, newintobject((long)errno));
settupleitem(v, 1, newstringobject(strerror(errno)));