>> If you mark any new threads you create as "daemon" (before you start
>> them),
[quoted text clipped - 4 lines]
> thread that has a life of its own. Had it backwards as usual.
> Cheers!
According to this
(http://en.wikipedia.org/wiki/Daemon_%28computer_software%29) a daemon is a
background process, so I guess it makes sense...
BTW, another way you could solve your original problem would be to create a
globally accessible boolean called "running", and all of your threads could
monitor that (e.g., while(running)...). Your main thread could catch any
exceptions and set running to false.
Yet another way would be for the main thread to keep references to all the
threads that it started, and interrupt them when an exception occurs. The
threads would have to monitor their interrupted status to see if they need
to exit (e.g., while(!interrupted()) ...). This latter approach would work
even if they were blocked in a wait. Unfortunately, you cannot interrupt a
blocking socket read (at least, not the last time I tried).
Plenty of ways to skin this cat...
christopher@dailycrossword.com - 01 Apr 2007 23:12 GMT
> <christop...@dailycrossword.com> wrote in message
>
[quoted text clipped - 26 lines]
>
> Plenty of ways to skin this cat...
I just don't like the look of a try block on main -- violates my
personal esthetic I guess! setDaemon(true) worked as advertized. As
far as the socket thing, I set a time out on the ServerSocket so
accept() only blocks for a coupla seconds, then I loop on an
"isRunning" boolean. It's only to ensure only one process is running
at a time, so nothing fancy needed.
Cheers!