To remove a signal handler, use the IDL_SignalUnregister() function:
export int IDL_SignalUnregister(int signo, IDL_SignalHandler_t func, int msg_action)
where:
signo
The signal to unregister.
func
The handler to be unregistered.
msg_action
One of the IDL_MSG_* action codes for IDL_Message(). If there is an error in removing the signal handler, this action code is passed to IDL_Message() to direct its recovery action.
Once IDL_SignalUnregister() has been called, func is unregistered and will no longer be called if the signal is raised. IDL_SignalUnregister() returns TRUE for success, FALSE for failure. Requests to unregister a function that has not been previously registered are ignored.