romura/pyactivemq

Release GIL if MessageListener throws exception

Closed this issue · 4 comments

The Global Interpreter Lock might not be released if the MessageListener
throws an exception from Python.

Original issue reported on code.google.com by fullung@gmail.com on 1 Jun 2007 at 11:23

Original comment by fullung@gmail.com on 1 Jun 2007 at 11:28

  • Changed title: Release GIL if MessageListener throws exception

Original comment by fullung@gmail.com on 6 Jun 2007 at 12:16

  • Added labels: Priority-High
  • Removed labels: Priority-Medium
We now catch error_already_set in the C++ part of MessageListener. At this 
point the
only sensible thing that can probably be done is to ignore the exception. 
Perhaps a
stack trace should be printed.

We might also want to terminate the interpreter for the special case of a
KeyboardInterrupt exception being raised.

Original comment by fullung@gmail.com on 6 Jun 2007 at 8:57

Exception is printed to sys.stderr instead of passing silently by. Closing this 
for
now. Pressing Ctrl-C twice kills the process even if the first KeyboardInterrupt
prints and then "hangs", so I'm leaving this for now.

Original comment by fullung@gmail.com on 6 Jun 2007 at 9:08

  • Changed state: Fixed