ipxfwtermsig(3F)
IPXFWTERMSIG - Returns lower bit of signal that terminates a child process
As shipped in IRIX 6.5.15. Last changed in IRIX 6.5.5.
NAME IPXFWTERMSIG - Returns lower bit of signal that terminates a child process SYNOPSIS INTEGER FUNCTION IPXFWTERMSIG(istat) INTEGER istat IMPLEMENTATION UNICOS, UNICOS/mk, and IRIX systems DESCRIPTION The IPXFWTERMSIG integer function returns the lower bits of the signal number that caused the child process to terminate. The PXFWIFSIGNALED logical function returns TRUE when the child process has terminated because of a signal. IPXFWTERMSIG should be used only when PXFWIFSIGNALED returns TRUE. The following argument is used for this routine: istat An input integer variable with the PXFWAIT or PXFWAITPID output status argument. On IRIX systems, this routine is in libfortran.so which is linked by default when compiling programs with the MIPSpro 7 Fortran 90 compiler or when compiling programs with the -craylibs option to the MIPSpro F77 compiler. When using the CF90 compiler or MIPSpro 7 Fortran 90 compiler on UNICOS, UNICOS/mk, or IRIX systems, all arguments must be of default kind unless documented otherwise. On UNICOS and UNICOS/mk, default kind is KIND=8 for integer, real, complex, and logical arguments; on IRIX systems, the default kind is KIND=4. EXAMPLES program pxftest integer istat, iretpid, ipid, ierror, ichldid integer iwtermsig, IPXFWTERMSIG logical lwifsignaled, PXFWIFSIGNALED CALL PXFFORK(ipid,ierror) if (ierror .ne. 0) then print *,'FAILED: PXFFORK call failed with error = ',ierror else print *,'PASSED: PXFFORK call' if (ipid .eq. 0) then call PXFGETPID(ichldid,ierror) if(ierror .ne. 0) then print *, 'PXFGETPID FAILED, ierror=', ierror print *,'ichldid=',ichldid else print *, 'PXFGETPID PASSED' endif call PXFCONST("SIGKILL",isig,ierror) if(ierror .ne. 0) then print *, 'PXFCONST FAILED, ierror=', ierror print *,'isig=',isig else print *, 'PXFCONST PASSED' endif call PXFKILL(ichldid,isig,ierror) if(ierror .ne. 0) then print *, 'PXFKILL FAILED, ierror=', ierror print *,'ichldid=',ichldid print *,'isig=',isig else print *, 'PXFKILL PASSED' endif else CALL PXFWAIT(istat,iretpid,ierror) if (ierror .eq. 0) then print *,'PASSED: PXFWAIT test' lwifsignaled = PXFWIFSIGNALED(istat) if (lwifsignaled .eqv. .TRUE.) then ! exit normally iwtermsig = IPXFWTERMSIG(istat) if (iwtermsig .ne. 0) then ! exit(0) returned print *,'PXFWIFSIGNALED test PASSED' print *,'IPXFWTERMSIG test PASSED' else print *,'PXFWIFSIGNALED test PASSED' print *,'IPXFWTERMSIG test FAILED' print *,'PXFWIFSIGNALED returned FALSE' print *,'IPXFWTERMSIG(istat) = ',iwtermsig print *,'istat = ',istat endif else print *,'PXFWIFSIGNALED test FAILED' print *,'PXFWIFSIGNALED returned FALSE' print *,'PXFWAIT istat = ', istat print *,'IPXFWEXITSTATUS cannot be called.' endif else print *,'FAILED: PXFWAIT call ierror = ',ierror print *,'istat = ', istat print *,'iretpid = ', iretpid endif endif endif print *,'test complete' end SEE ALSO PXFWAIT(3F), PXFWIFSIGNALED(3F) Application Programmer's Library Reference Manual for the printed version of this man page.