ipxfwstopsig(3F)
IPXFWSTOPSIG - Returns part of the lower bits of signal number that terminates child process
As shipped in IRIX 6.5.7. Last changed in IRIX 6.5.5.
NAME IPXFWSTOPSIG - Returns part of the lower bits of signal number that terminates child process SYNOPSIS INTEGER FUNCTION IPXFWSTOPSIG(istat) INTEGER istat IMPLEMENTATION UNICOS, UNICOS/mk, and IRIX systems 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. 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, 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) Application Programmer's Library Reference Manual for the printed version of this man page.