The termination function must perform any necessary cleanup tasks, including closing the signaling interface:
sl_close(sl_handle) ;
This subroutine disassociates the signaling process from the signaling interface. The signaling handle, sl_handle, is the one that was returned when the signaling process opened the signaling interface. Once the sl_close() subroutine has been issued, this signaling handle is no longer valid and the signaling interface subroutines that require a handle cannot be called.
When the termination function has performed all necessary cleanup, it must return() to the main function. Do not exit to the main function.