[python-win32] PumpMessages in main thread called by embedded Python causes crash
reckoner at gmail.com
Sun Apr 29 17:07:40 CEST 2012
Thanks for your reply.
Yes, the app works fine if I don't PumpMessages in my own code. There
is no console that the application fires up when it runs the embedded
Python code. In this situation, how do I (or, can I?) pump for my own
messages if the application is doing some other kind of event loop, as
On Saturday, April 28, 2012 10:15:50 PM, Mark Hammond wrote:
> I don't know why it crashes exactly, but if the other app has its own
> event loop then things are going to get screwey - PumpMessages never
> returns (well, not until a WM_QUIT message is received), so their event
> loop will never run.
> I'd guess that their event loop and event handlers have some assumptions
> built in to it - eg, they might be assuming that their event loop as set
> something up that one of the message handlers relies on. You running
> your own event loop will prevent that setup from happening so one of
> their handlers will crash.
> Does that app work OK if you don't call PumpMessages? If so, a work
> around might be to check if you have a console, and if you don't, assume
> some other event loop must be running.
> On 29/04/2012 2:21 AM, reckoner wrote:
>> I have written some code that catches windows events that also includes
>> the usual PumpMessages, and all of this works fine when I run it from
>> the Python interpreter (Python version 2.6). However, when a separate
>> application that has Python embedded calls the same code, the calling
>> application crashes. I have tracked this down to the PumpMessages call
>> in my code.
>> My question is why does this work perfectly well from the interpreter,
>> but cause a crash when called from the embedded Python running in a
>> separate application. Note that I don't have access to the separate
>> application in which the Python call is embedded and when it crashes it
>> does not provide any kind of traceback. It took a long time to narrow
>> it down to the PumpMessages call.
>> Any advice appreciated. I am really stuck here. By the way, this is on
>> Windows XP 32-bit.
>> python-win32 mailing list
>> python-win32 at python.org
More information about the python-win32