The following example illustrates posting a signal handler for the SIGABRT signal:
#include <stdio.h>
#include <signal.h>
#include "cobtypes.h"
#include "cobsignal.h"
#include "cobmain.h"
int
mysigcatch(int sig, cobsiginfo_t * mf_info)
{
     printf("In signal handler for sig %d\n", sig);
     return 0;  /* Do not process any further handlers. */
}                 
void
mysigexit(cobsigtype_t sighand)
{
    printf("Cancelling handler\n");
    cobremovesighandler(sighand);       /* Remove the handler. */
}               
int
main(int argc, char *argv[])
{
    cobsigtype_t sighandle;
    cobinit();
    sighandle = cobpostsighandler(SIGABRT, 128, mysigcatch);
    if(sighandle)
    {
        /* Call a cobol program using cobfunc function. */
        cobfunc("cobolprog", argc, argv);
        raise(SIGABRT); /* Raise the signal. */
        mysigexit(sighandle);
    }
    cobexit(0); /* Cobexit - close down COBOL run-time environment. */
}