views:

138

answers:

0

I am embedding ruby (1.9.1) as a scripting language in my window manager project (subtle). Since the switch from 1.8 to 1.9 I am facing many problems with asynchronous signals in multithreading.

How is signal handling supposed to work and does the thread that ruby creates automatically have any own signal handlers? Due the asynchronous behaviour of signals like SIGINT the first thread with a handler will get the signal and this is sometimes not my main thread.

Also when this ruby thread has any handler, can some signals be disabled or should I just add traps and rely fully on ruby and dispatch the signals to my main thread?

Edit: Why can none say something to this?