TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Paul Rider
from: Mike Bilow
date: 1995-06-02 02:06:02
subject: ThreadTermination Methods

Paul Rider wrote in a message to All:

 PR>         How can I terminate a thread that main() has created
 PR> when main exits.

It happens automatically, although not necessarily gracefully.

 PR> Well that's the theme, here's the
 PR> situation. I'm in a method that's updating mouse
 PR> coordinates/button flags of my mouse class. I'm using
 PR> blocking reads of the mouse driver. When my main decides to
 PR> exit I want to be able to exit the mouse.Update() thread
 PR> gracefully. I thought of setting a flag and continually
 PR> checking the flag on cycles through, but what happens if I'm
 PR> still blocked in the mouse driver? Is there a call I can
 PR> issue to have the Mouse driver pop me out of the blocking
 PR> ReadQue() function? Any suggestions would be appreciated.   

When the main thread terminates, the process dies.  What happens if you
simply let that happen?

 PR>      Should I be using semaphores in some way here?

Only if you have some need to make the main thread wait for all its child
threads to complete before terminating.  This might happen, for example, if
a child thread is responsible for writing a disk file and you want to
assure consistency of the data written.
 
-- Mike


---
* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107)
SEEN-BY: 105/42 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407
SEEN-BY: 712/515 628 704 713/888 800/1 7877/2809
@PATH: 323/107 150 3615/50 396/1 270/101 105/103 42 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.