1: # include   <ingres.h>
   2: # include   <symbol.h>
   3: # include   "IIglobals.h"
   4: # include   <sccs.h>
   5: 
   6: SCCSID(@(#)IIexit.c	8.1	12/31/84)
   7: 
   8: 
   9: /*
  10: **	Exit ingres --
  11: **		waits for the parser to return,
  12: **		catching all children's death till then
  13: **		or till an error return.
  14: **		In case wait(II) is interrupted while waiting,
  15: **		as evidenced by errno == 4, waiting will resume.
  16: **
  17: */
  18: 
  19: IIexit()
  20: {
  21:     register int    ndx;
  22:     register int    pidptr;
  23:     register int    err;
  24:     int     status;
  25:     int     pidlist[10];
  26:     extern      errno;      /* perror(III) */
  27: 
  28: #	ifdef xETR1
  29:     if (IIdebug)
  30:         printf("IIexit\n");
  31: #	endif
  32: 
  33:     if (close(IIw_down) || close(IIr_down))
  34:         IIsyserr("IIexit:cant't close");
  35: 
  36:     pidptr = 0;
  37:     err = 0;
  38:     errno = 0;
  39:     while ((ndx = wait(&status)) != IIingpid
  40:         && (ndx != -1 || errno == 4))
  41:     {
  42:         if (ndx == -1)
  43:         {
  44:             errno = 0;
  45:             continue;
  46:         }
  47: #		ifdef xETR1
  48:         if (IIdebug)
  49:             printf("caught pid %u death, stat %d, %d\n",
  50:                 ndx, status >> 8, status & 0177);
  51: #		endif
  52: 
  53:         pidlist [pidptr++] = ndx;
  54:         if ((status & 0177) != 0)
  55:         {
  56:             printf("%d: Abnormal Termination %d", ndx, status & 0177);
  57:             if ((status & 0200) != 0)
  58:                 printf(" -- Core Dumped");
  59:             printf("\n");
  60:             err++;
  61:         }
  62:     }
  63:     if (err)
  64:     {
  65:         printf("pid list:");
  66:         for (ndx = 0; ndx < pidptr; ndx++)
  67:             printf(" %u", pidlist[ndx]);
  68:         printf("\n");
  69:     }
  70: 
  71:     IIingpid = 0;
  72: }

Defined functions

IIexit defined in line 6; never used
Last modified: 1986-04-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 814
Valid CSS Valid XHTML 1.0 Strict