OK, When I run my assembly in a regular windows application, all the
threads terminate gracefully, using the recommended "graceful"
synchronization mechanisms (autoresetevents, volatile statics, etc.).
I then call the same exact code in a Windows Service, and only a few
of the threads get time to "gracefully" terminate.
The wierd thing is, no exceptions are thrown. It's almost as if SCM
knows how to kill my threads without asking, or anything, like its
happening at the "o/s level", without my program's knowledge.
Can someone explain this behavior? Is OnStop as impatient as it seems?