pxfwifstopped(3F)

PXFWIFSTOPPED - Determines if a child process has stopped

As shipped in IRIX 6.5.30. Last changed in IRIX 6.5.19.

NAME
     PXFWIFSTOPPED - Determines if a child process has stopped

SYNOPSIS
     LOGICAL FUNCTION PXFWIFSTOPPED(istat)
     INTEGER istat

DESCRIPTION
     The PXFWIFSTOPPED logical function returns the value TRUE if the child
     process has stopped.

     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, iopts, isig
          logical lwifstopped, PXFWIFSTOPPED

          CALL PXFFORK(ipid,ierror)
          if (ierror .ne. 0) then
             print *,'FAILED: PXFFORK call failed with error = ',ierror
          else
             print *,'FAILED: PXFFORK call failed with error = ',ierror
             if (ipid.eq.0)then !child
                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)
                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
                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.ne.0)then
                   print *, 'PXFWAITPID FAILED, ierror=', ierror
                   print *, 'ipid=', ipid
                   print *, 'iretpid=', iretpid
                   print *, 'iopts=', iopts
                   print *, 'istat=', istat
                else
                   print *, 'PXFWAITPID PASSED'
                endif
                if (ipid .ne. iretpid) then
                   print *,'expected pids of child to equal'
                   print *,'fork pid of child=',ipid
                   print *,'wait pid of child=',iretpid
                endif
                if (PXFWIFSTOPPED(istat))then
                   print *, 'PXFWIFSTOPPED PASS'
                else
                   print *, 'IPXFWSTOPSIG FAIL'
                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(ipid,isig,ierror)
                if (ierror .ne. 0) then
                   print *, 'PXFKILL FAILED ierror=', ierror
                   print *, 'ipid=', ipid
                   print *, 'isig=', isig
                else
                   print *, 'PXFKILL PASSED'
                endif
             endif
          endif
          print *,'test complete'
          end

SEE ALSO
     IPXFWSTOPSIG(3F), PXFWAIT(3F)