ipxfwstopsig(3F)
IPXFWSTOPSIG - Returns part of the lower bits of signal number that terminates child process
As shipped in IRIX 6.5.30. Last changed in IRIX 6.5.19.
NAME IPXFWSTOPSIG - Returns part of the lower bits of signal number that terminates child process SYNOPSIS INTEGER FUNCTION IPXFWSTOPSIG(istat) INTEGER istat DESCRIPTION The IPXFWSTOPSIG integer function returns part of the lower bits of the signal number that caused the child process to stop. The PXFWIFSTOPPED logical function returns TRUE to indicate that the child process has stopped. IPXFWSTOPSIG should only be used if PXFWIFSTOPPED 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, i, j integer iwstopsig, IPXFWSTOPSIG logical lwifstopped, PXFWIFSTOPPED 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 j = 0 do i=1,100000 j = j + i enddo call PXFGETPID(ichldid,ierror) if (ierror .ne. 0) then print *, 'PXFGETPID FAILED, ierror=', ierror print *, 'ichldid=', ichldid else print *, 'PXFGETPID PASSED' endif call PXFCONST("SIGSTOP",isig,ierror) 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 stop "CHILD" else call PXFCONST("WUNTRACED",iopts,ierror) if (ierror .ne. 0) then print *, 'PXFCONST FAILED, ierror=', ierror print *, 'iopts=', iopts else print *, 'PXFCONST PASSED' endif CALL PXFWAITPID(ipid,istat,iopts,iretpid,ierror) if (ierror .eq. 0) then print *,'PASSED: PXFWAIT test' lwifstopped = PXFWIFSTOPPED(istat) if (lwifstopped .eqv. .TRUE.) then iwstopsig = IPXFWSTOPSIG(istat) if (iwstopsig .ne. 0) then print *,'PXFWIFSTOPPED test PASSED' print *,'IPXFWSTOPSIG test PASSED' call PXFCONST("SIGCONT",isig,ierror) if (ierror .ne. 0) then print *,'PXFCONST FAILED,ierror=',ierror print *,'isig=', isig else print *, 'PXFCONST PASSED' endif ! continue the child process call PXFKILL(ipid,isig,ierror) else print *,'PXFWIFSTOPPED test PASSED' print *,'IPXFWSTOPSIG test FAILED' print *,'PXFWIFSTOPPED returned TRUE' print *,'IPXFWSTOPSIG(istat) = ',iwstopsig print *,'istat = ', ipid print *,'PXFWAIT istat = ', istat print *,'iretpid= ', iretpid endif else print *,'PXFWIFSTOPPED returned FALSE' print *,'istat = ', ipid print *,'PXFWAIT istat = ', istat print *,'iretpid= ', iretpid print *,'IPXFWSTOPSIG cannot be called.' endif else print *,'FAILED: PXFWAIT call with error = ',ierror print *,'istat = ', ipid print *,'istat = ', istat print *,'iretpid = ', iretpid endif endif endif print *,'test complete' end SEE ALSO PXFWAIT(3F), PXFWIFSTOPPED(3F)