home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / kill9.zip / xfree86 / src / death / pig.c < prev    next >
C/C++ Source or Header  |  1996-06-29  |  864b  |  40 lines

  1. #define INCL_BASE
  2. #define INCL_DOSEXCEPTIONS
  3. #define INCL_DOSPROCESS
  4. #include <os2.h>
  5. #include <stdio.h>
  6.  
  7. ULONG sighndlr (PEXCEPTIONREPORTRECORD pERepRec,
  8.         PEXCEPTIONREGISTRATIONRECORD pERegRec,
  9.         PCONTEXTRECORD pCtxRec,
  10.         PVOID p);
  11.  
  12. int main(int argc,char*argv[])
  13. {
  14.     EXCEPTIONREGISTRATIONRECORD xcpt = { 0, &sighndlr };
  15.     ULONG dummy;
  16.     PTIB ptib;
  17.     PPIB ppib;
  18.     ULONG pid;
  19.  
  20.     /* make me immortile */
  21.     DosError(FERR_DISABLEEXCEPTION|FERR_DISABLEHARDERR);
  22.     DosSetExceptionHandler(&xcpt);
  23.     
  24.     DosGetInfoBlocks(&ptib,&ppib);
  25.     pid = ppib->pib_ulpid;
  26.     printf("My PID is %d (hex 0x%x), kill me!\n",pid,pid);
  27.  
  28.     DosEnterMustComplete(&dummy);
  29.     while(1) { DosSleep(1); }
  30. }
  31.  
  32.  
  33. ULONG sighndlr (PEXCEPTIONREPORTRECORD pERepRec,
  34.         PEXCEPTIONREGISTRATIONRECORD pERegRec,
  35.         PCONTEXTRECORD pCtxRec,
  36.         PVOID p)
  37. {
  38.     return XCPT_CONTINUE_EXECUTION;
  39. }
  40.