Ŀ
 ZOMBIE_2A.CPP 


#define INCL_DOS
#include <OS2.h>
#include <Stdio.h>

#define Main main

/* * */

ULONG APIENTRY TermHandler (PEXCEPTIONREPORTRECORD,
                            PEXCEPTIONREGISTRATIONRECORD,
                            PCONTEXTRECORD,
                            PVOID);

/* * */

Main () 
{
  EXCEPTIONREGISTRATIONRECORD Record = {
                                        .ExceptionHandler = (ERR) TermHandler
                                       };

  DosSetExceptionHandler (&Record);

  printf ("Stop this program using Ctrl-C or Ctrl-Break." "\n");
  getchar ();

  printf ("Program ends." "\n");

  return 0;
}

/* * */

ULONG APIENTRY TermHandler (PEXCEPTIONREPORTRECORD       Exception_report,
                            PEXCEPTIONREGISTRATIONRECORD Exception_registration,
                            PCONTEXTRECORD               Exception_context,
                            PVOID                        Thread_context) 
{
  printf (" >> TermHandler entered: [%x]" "\n", Exception_report->ExceptionNum);

  while (1) DosSleep (1);

  return XCPT_CONTINUE_SEARCH;
}
