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)