From 336e425537de5c770dbf25e4d4502679486d7df8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 23 Dec 2009 09:34:43 -0700 Subject: [PATCH] Fix #4278 (Kinde 2 international not detected on Macos 10.6.2) --- src/calibre/devices/usbms/device.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index c34157e878..3a796b9754 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -323,8 +323,14 @@ class Device(DeviceConfig, DevicePlugin): ioreg = '/usr/sbin/ioreg' if not os.access(ioreg, os.X_OK): ioreg = 'ioreg' - return subprocess.Popen((ioreg+' -w 0 -S -c IOMedia').split(), - stdout=subprocess.PIPE).communicate()[0] + cmd = (ioreg+' -w 0 -S -c IOMedia').split() + for i in range(3): + try: + return subprocess.Popen(cmd, + stdout=subprocess.PIPE).communicate()[0] + except IOError: # Probably an interrupted system call + pass + def osx_sort_names(self, names): return names