exiting threaded program?

Alf P. Steinbach alfps at start.no
Wed Mar 24 06:55:34 EDT 2010


* Alex Hall:
> Hi all,
> I have a program with a timer in it, therefore I have multiple
> threads.

Is the "therefore..." an inference or independendent information?

If it is an inference then it may not be correct.

For example, timers in a GUI program need not involve additional threads.


> My method of exiting by using "user32.PostQuitMessage (0)"

This sounds like the Windows API level accessed from Python, not Python level?

At the Windows API level, as I recall PostQuitMessage results in a WM_QUIT 
posted to the current thread's message queue, where it'll be processed by this 
thread's message loop, if it has one, which will then ideally finish.

Possibly, if you indeed have more than one thread, you're posting the WM_QUIT to 
the wrong thread  --  to quit the app it needs to be posted to the main thread.


> no
> longer seems to be doing the job since I added the timer. What else do
> I have to do to close my program? I say it is not closing because,
> before, I would be returned to a prompt in the cmd line, but now I
> cannot type in the cmd line window even after the program supposedly
> closes, whereas before I could have. Thanks.

Try to reduce the problem to a minimal complete program, and post that?

Unless the above comments help?


Cheers,

- Alf



More information about the Python-list mailing list