ipxfwtermsig(3F)

IPXFWTERMSIG - Returns lower bit of signal that terminates a child process

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

NAME
     IPXFWTERMSIG - Returns lower bit of signal that terminates a child
     process

SYNOPSIS
     INTEGER FUNCTION IPXFWTERMSIG(istat)
     INTEGER istat

IMPLEMENTATION
     UNICOS, UNICOS/mk, and IRIX systems

DESCRIPTION
     The IPXFWTERMSIG integer function returns the lower bits of the signal
     number that caused the child process to terminate.  The PXFWIFSIGNALED
     logical function returns TRUE when the child process has terminated
     because of a signal.  IPXFWTERMSIG should be used only when
     PXFWIFSIGNALED 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, ichldid
          integer iwtermsig, IPXFWTERMSIG
          logical lwifsignaled, PXFWIFSIGNALED

          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
                    call PXFGETPID(ichldid,ierror)
                    if(ierror .ne. 0) then
                       print *, 'PXFGETPID FAILED, ierror=', ierror
                       print *,'ichldid=',ichldid
                    else
                       print *, 'PXFGETPID PASSED'
                    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(ichldid,isig,ierror)
                    if(ierror .ne. 0) then
                        print *, 'PXFKILL FAILED, ierror=', ierror
                        print *,'ichldid=',ichldid
                        print *,'isig=',isig
                    else
                        print *, 'PXFKILL PASSED'
                    endif
                 else

                    CALL PXFWAIT(istat,iretpid,ierror)
                    if (ierror .eq. 0) then
                        print *,'PASSED: PXFWAIT test'
                        lwifsignaled = PXFWIFSIGNALED(istat)
                        if (lwifsignaled .eqv. .TRUE.) then ! exit normally
                           iwtermsig = IPXFWTERMSIG(istat)
                           if (iwtermsig .ne. 0) then  ! exit(0) returned
                              print *,'PXFWIFSIGNALED test PASSED'
                              print *,'IPXFWTERMSIG test PASSED'
                           else
                              print *,'PXFWIFSIGNALED test PASSED'
                              print *,'IPXFWTERMSIG test FAILED'
                              print *,'PXFWIFSIGNALED returned FALSE'
                              print *,'IPXFWTERMSIG(istat) = ',iwtermsig
                              print *,'istat = ',istat
                           endif
                        else
                           print *,'PXFWIFSIGNALED test FAILED'
                           print *,'PXFWIFSIGNALED returned FALSE'
                           print *,'PXFWAIT istat = ', istat
                           print *,'IPXFWEXITSTATUS cannot be called.'
                        endif
                    else
                        print *,'FAILED: PXFWAIT call ierror = ',ierror
                        print *,'istat = ', istat
                        print *,'iretpid = ', iretpid
                    endif
                 endif
            endif
          print *,'test complete'
          end

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


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