pxfwifsignaled(3F)

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

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

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

SYNOPSIS
     LOGICAL FUNCTION PXFWIFSIGNALED(istat)
     INTEGER istat

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.

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