This commit is contained in:
Kovid Goyal 2015-05-23 12:22:08 +05:30
parent ec3692fec4
commit eb0aa151fb
2 changed files with 10 additions and 1 deletions

View File

@ -11,7 +11,7 @@ from io import DEFAULT_BUFFER_SIZE
from select import select from select import select
from calibre.constants import iswindows, isosx from calibre.constants import iswindows, isosx
from calibre.utils.ipc import eintr_retry_call from calibre.srv.utils import eintr_retry_call
def file_metadata(fileobj): def file_metadata(fileobj):
try: try:

View File

@ -165,3 +165,12 @@ def create_sock_pair(port=0):
client_sock.setblocking(True) client_sock.setblocking(True)
return client_sock, srv_sock return client_sock, srv_sock
def eintr_retry_call(func, *args, **kwargs):
while True:
try:
return func(*args, **kwargs)
except EnvironmentError as e:
if getattr(e, 'errno', None) in socket_error_eintr:
continue
raise