Browse Source

fix for IOError unpack crash

Darren Ranalli 18 years ago
parent
commit
dbe9ec8337
1 changed files with 8 additions and 2 deletions
  1. 8 2
      direct/src/task/Task.py

+ 8 - 2
direct/src/task/Task.py

@@ -937,14 +937,20 @@ class TaskManager:
                         self.step()
                 except KeyboardInterrupt:
                     self.stop()
-                except IOError, (errno, strerror):
+                except IOError, v:
+                    # IOError unpack from http://www.python.org/doc/essays/stdexceptions/
+                    try:
+                        (code, message) = v
+                    except:
+                        code = 0
+                        message = v
                     # Since upgrading to Python 2.4.1, pausing the execution
                     # often gives this IOError during the sleep function:
                     #     IOError: [Errno 4] Interrupted function call
                     # So, let's just handle that specific exception and stop.
                     # All other IOErrors should still get raised.
                     # Only problem: legit IOError 4s will be obfuscated.
-                    if errno == 4:
+                    if code == 4:
                         self.stop()
                     else:
                         raise