[Nickle] SIGINT and thread termination rules
Bart Massey
bart at po8.org
Wed Feb 6 00:47:24 PST 2008
I'm confused. How do I get into the debugger with this
change?
Bart
In message <1202273447.7800.89.camel at koto.keithp.com> you wrote:
> The second, and far more pervasive, change was to convert SIGINT into an
> exception delivered to every thread. This eliminates the ability for
> SIGINT to suspend thread execution so that they can be inspected by a
> debugger and restarted. Instead, each thread receives a 'signal'
> exception and is free to catch it and deal with it however they like.
> Exceptions which are not caught terminate the thread with an error
> message:
>
> > while (true);
> (press ^C here)...
> Unhandled exception signal (2)
> <stdin>:1: while (true)
> >=20
>
> This certainly seems more useful for application development as
> applications can expect that twixt blocks will *always* get executed,
> even if the application receives a SIGINT or the parser sees EOF.
>
> However, if 'exit' is called, the threads do not get a chance to clean
> up -- the process exits immediately taking all threads down with it.
More information about the Nickle
mailing list