I am hoping someone on this list can answer this question. I have notice that 
during certain situations signal handlers I set up are ignored in my wxPerl 
application. Especially while modal dialogs are open.  

For example, I fork() a process to run a subroutine asynchronously, setting up 
the $SIG{CHLD} handler for when the sub-process completes. I open a modal 
dialog which alerts the user that the process is running and there is a button 
on it that allows them to cancel the action.  However, after the subprocess 
completes, the handler is not called. It is only when I close the modal dialog 
that the handler then gets called.

Why is this happening? I have noticed this behavior with other signals as well, 
like SIGINT. Is the wxWidgets mainloop deliberately ignoring all signals? Does 
it have something to do with the event processing?

I have already read about using threads, but that would require reworking the 
code quite a bit, and I am not certain I won't run into other problems.

Anyone?
---------------------------------
Jim Clark
Senior Software Engineer, SMT
Apple, Inc 
408-974-9906 (office)
408-781-1425 (cell)


Reply via email to