In message <[EMAIL PROTECTED]>, Alex Waugh wrote: > Adam <[EMAIL PROTECTED]> wrote:
> > I'm trying to get my head around handling signals in a threaded app. > > However, I keep just getting a stack backtrace written to stderr. As far > > as I can tell my signal handler never gets a look in. > > Signals should execute in the context of the thread that caused them, > however they currently execute in the global context which makes it hard > to implement sigwait correctly as the context switcher wouldn't know > which thread to wake up on a signal (so it doesn't bother). > The only way to send a signal that sigwait will notice is to use > pthread_kill(). Thanks a lot for that - it's good to at least know it won't work in principle. What, in that case, is the recommeded way to deal with signals in a multi-threaded app? A disappearing app + stackdump-to-stderr is not a total disaster while debugging, but it's not ideal for a released program. Cheers, Adam -- Adam Richardson Carpe Diem http://www.snowstone.org.uk/riscos/ _______________________________________________ GCCSDK mailing list [email protected] Bugzilla: http://www.riscos.info/bugzilla/index.cgi List Info: http://www.riscos.info/mailman/listinfo/gcc Main Page: http://www.riscos.info/index.php/GCCSDK
