We can indeed handle the case where the signal handler is not executed from an EiffelThread. However what is not clear is what we do in this case. This holds true for all platforms. So far, we can set a flag in the other running EiffelThreads, but it is not clear when we should check for that flag in the running threads so that you get a proper response time without penalizing too much performance. In the meantime, it seems that exiting the process might be the best thing to do. Is this something you feel comfortable with?