From 24419007962f1cdf4ce12ea3faaa6f80aee49a34 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Fri, 9 Jan 2015 17:28:51 +0200 Subject: [PATCH] os: check_error(): Return true for EINTR, to easily restart system calls. --- os/os/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/os/os/__init__.py b/os/os/__init__.py index 58b750fa..82dcf0e4 100644 --- a/os/os/__init__.py +++ b/os/os/__init__.py @@ -58,8 +58,13 @@ environ = {"WARNING": "NOT_IMPLEMENTED"} def check_error(ret): + # Return True is error was EINTR (which usually means that OS call + # should be restarted). if ret == -1: - raise OSError(errno_.get()) + e = errno_.get() + if e == errno.EINTR: + return True + raise OSError(e) def raise_error(): raise OSError(errno_.get())