mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 02:15:43 -04:00
provide feedback when breaking into Python prompt
This commit is contained in:
parent
fa1bec2af7
commit
60f5de72b7
@ -416,13 +416,23 @@ class TaskManager:
|
|||||||
self.fVerbose = value
|
self.fVerbose = value
|
||||||
messenger.send('TaskManager-setVerbose', sentArgs = [value])
|
messenger.send('TaskManager-setVerbose', sentArgs = [value])
|
||||||
|
|
||||||
|
def invokeDefaultHandler(self, signalNumber, stackFrame):
|
||||||
|
print '*** allowing mid-frame keyboard interrupt.'
|
||||||
|
# Restore default interrupt handler
|
||||||
|
signal.signal(signal.SIGINT, signal.default_int_handler)
|
||||||
|
# and invoke it
|
||||||
|
raise KeyboardInterrupt
|
||||||
|
|
||||||
def keyboardInterruptHandler(self, signalNumber, stackFrame):
|
def keyboardInterruptHandler(self, signalNumber, stackFrame):
|
||||||
self.fKeyboardInterrupt = 1
|
self.fKeyboardInterrupt = 1
|
||||||
self.interruptCount += 1
|
self.interruptCount += 1
|
||||||
if self.interruptCount == 2:
|
if self.interruptCount == 1:
|
||||||
|
print '* interrupt by keyboard'
|
||||||
|
elif self.interruptCount == 2:
|
||||||
|
print '** waiting for end of frame before interrupting...'
|
||||||
# The user must really want to interrupt this process
|
# The user must really want to interrupt this process
|
||||||
# Next time around use the default interrupt handler
|
# Next time around invoke the default handler
|
||||||
signal.signal(signal.SIGINT, signal.default_int_handler)
|
signal.signal(signal.SIGINT, self.invokeDefaultHandler)
|
||||||
|
|
||||||
def hasTaskNamed(self, taskName):
|
def hasTaskNamed(self, taskName):
|
||||||
# TODO: check pending task list
|
# TODO: check pending task list
|
||||||
|
Loading…
x
Reference in New Issue
Block a user