pxfwifstopped(3F)

PXFWIFSTOPPED - Determines if a child process has stopped

As shipped in IRIX 6.5.5. Last changed in IRIX 6.5.5.

NAME
     PXFWIFSTOPPED - Determines if a child process has stopped

SYNOPSIS
     LOGICAL FUNCTION PXFWIFSTOPPED(istat)
     INTEGER istat

IMPLEMENTATION
     UNICOS, UNICOS/mk, and IRIX systems

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.

     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, 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)

     Application Programmer's Library Reference Manual for the printed
     version of this man page.