This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author markroseman
Recipients BreamoreBoy, Saimadhav.Heblikar, markroseman, roger.serwy, terry.reedy
Date 2015-09-22.22:42:01
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1442961722.15.0.766414132685.issue15347@psf.upfronthosting.co.za>
In-reply-to
Content
Figured out the cause of this hang, it was to do with the nested event loops.

It turns out that mainloop() really should just be for the mainloop. Or at least quit() should only be used to quit the outer loop, as it relies on setting a static variable, so is not reentrant, i.e. does not handle nested event loops.

I changed the nested loop to use a different mechanism to start the nested event loop (vwait, which waits for a tcl variable to be set) and terminate the nested loop (setting that variable). Have attached fix-nested-mainloop.patch.

Fixes the problem here, and in #15348, and another case I was using (start, enable debugger, open module, run module, quit).

The one in #24455 is something different, I'll look into it.
History
Date User Action Args
2015-09-22 22:42:02markrosemansetrecipients: + markroseman, terry.reedy, roger.serwy, BreamoreBoy, Saimadhav.Heblikar
2015-09-22 22:42:02markrosemansetmessageid: <1442961722.15.0.766414132685.issue15347@psf.upfronthosting.co.za>
2015-09-22 22:42:02markrosemanlinkissue15347 messages
2015-09-22 22:42:01markrosemancreate