diff --git a/direct/src/showbase/PythonUtil.py b/direct/src/showbase/PythonUtil.py index 7f335e7a94..8d20e1683d 100644 --- a/direct/src/showbase/PythonUtil.py +++ b/direct/src/showbase/PythonUtil.py @@ -49,8 +49,6 @@ import traceback import __builtin__ from StringIO import StringIO import marshal -import unicodedata -import bisect __report_indent = 3 diff --git a/direct/src/task/Task.py b/direct/src/task/Task.py index f75ebca9ce..54458f0d2c 100644 --- a/direct/src/task/Task.py +++ b/direct/src/task/Task.py @@ -10,12 +10,16 @@ from direct.directnotify.DirectNotifyGlobal import * from direct.showbase import ExceptionVarDump from direct.showbase.PythonUtil import * from direct.showbase.MessengerGlobal import messenger -import signal import types import time import random import string +try: + import signal +except ImportError: + signal = None + from panda3d.core import * def print_exc_plus(): @@ -149,7 +153,8 @@ class TaskManager: def invokeDefaultHandler(self, signalNumber, stackFrame): print '*** allowing mid-frame keyboard interrupt.' # Restore default interrupt handler - signal.signal(signal.SIGINT, signal.default_int_handler) + if signal: + signal.signal(signal.SIGINT, signal.default_int_handler) # and invoke it raise KeyboardInterrupt @@ -454,7 +459,8 @@ class TaskManager: # after task list processing is complete. self.fKeyboardInterrupt = 0 self.interruptCount = 0 - signal.signal(signal.SIGINT, self.keyboardInterruptHandler) + if signal: + signal.signal(signal.SIGINT, self.keyboardInterruptHandler) startFrameTime = self.globalClock.getRealTime() @@ -465,7 +471,8 @@ class TaskManager: self.doYield(startFrameTime, nextTaskTime) # Restore default interrupt handler - signal.signal(signal.SIGINT, signal.default_int_handler) + if signal: + signal.signal(signal.SIGINT, signal.default_int_handler) if self.fKeyboardInterrupt: raise KeyboardInterrupt