[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