pxfwifsignaled(3F)

PXFWIFSIGNALED - Determines if the child process terminated because of a signal

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

NAME
     PXFWIFSIGNALED - Determines if the child process terminated because of
     a signal

SYNOPSIS
     LOGICAL FUNCTION PXFWIFSIGNALED(istat)
     INTEGER istat

IMPLEMENTATION
     UNICOS, UNICOS/mk, and IRIX systems

DESCRIPTION
     The PXFWIFSIGNALED logical function returns TRUE if the child process
     has terminated because of a signal.  The IPXFWTERMSIG(3F) function
     returns part of the signal that terminated the child process.

     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, ichldid, isig
          logical lwifsignaled, PXFWIFSIGNALED

          CALL PXFFORK(ipid,ierror)
          if (ierror .ne. 0) then
             print *,'FAILED: PXFFORK call failed with error = ',ierror
             print *,'ipid=',ipid

          else
             print *,'PASSED: PXFFORK call'
             if(ipid.eq.0) then
                call PXFGETPID(ichldid,ierror)
                if(ierror .ne. 0) then
                   print *, 'PXFGETPID FAILED, ierror=', ierror
                 else
                   print *, 'PXFGETPID PASSED'
                 endif
                call PXFCONST("SIGKILL",isig,ierror)
                if(ierror .ne. 0) then
                   print *, 'PXFCONST FAILED, ierror=', ierror
                else
                   print *, 'PXFCONST PASSED'
                endif
                call PXFKILL(ichldid,isig,ierror)
                if(ierror .ne. 0) then
                   print *, 'PXFKILL FAILED, ierror=', ierror
                else
                   print *, 'PXFKILL PASSED'
                endif
             else
                CALL PXFWAIT(istat,iretpid,ierror)
                if (ierror .eq. 0) then
                   print *,'PASSED: PXFWAIT normal test'
                   lwifsignaled = PXFWIFSIGNALED(istat)
                   if (lwifsignaled .eqv. .TRUE.) then ! exit normally
                      print *,'PXFWIFSIGNALED test PASSED'
                   else
                      print *,'PXFWIFSIGNALED test FAILED'
                      print *,'PXFWIFSIGNALED returned FALSE'
                      print *,'PXFWAIT istat = ', istat
                      print *,'iretpid= ', iretpid
                   endif
                else
                   print *,'FAILED: PXFWAIT call with error = ',ierror
                   print *,'PXFWAIT istat = ', istat
                   print *,'iretpid= ', iretpid
                endif
             endif
          endif
          print *,'test complete'
          end

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

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