ipxfwtermsig(3F)
IPXFWTERMSIG - Returns lower bit of signal that terminates a child process
As shipped in IRIX 6.5.30. Last changed in IRIX 6.5.19.
NAME IPXFWTERMSIG - Returns lower bit of signal that terminates a child process SYNOPSIS INTEGER FUNCTION IPXFWTERMSIG(istat) INTEGER istat 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. 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. All arguments must be of default kind unless documented otherwise. On IRIX systems, the default kind is KIND=4. NOTES The PXF_DEFINITIONS module can be used by Fortran 90 users to enable caller-callee interface checking. 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)