At 03:26 PM 3/5/2008, Martin McCormick wrote:
        A SIGHUP signal to a running process needs a signal
handler like

signal( SIGHUP ,startlogging);

        What sort of end statement needs to be in the function
called to allow program execution to resume back in the main
caller?

        I had put a return; statement in the function and
noticed that things were wrong after the application stopped
catching the SIGHUP after the first call.

        A gdb trace shows that the signal causes a branch to the
code pointed to by the signal statement. The code runs and then
if it reaches the return; statement, the flow is lost and knows
not where to go next.

        Thank you.


Martin McCormick WB5AGZ  Stillwater, OK
Systems Engineer
OSU Information Technology Department Network Operations Group

Nothing needs to be in your handler function to continue running simply return from your function. However, depending on the signal you may wish to call the original signal handler. Signals like interrupts are chained linked lists of handlers. You can choose to break the chain, and have only your handler called, or keep the chain intact calling the other handlers.

Read the man page on signal for more information.

        -Derek

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to