PXFWIFSTOPPED(3F) Last changed: 1-6-98
PXFWIFSTOPPED - Determines if a child process has stopped
LOGICAL FUNCTION PXFWIFSTOPPED(istat)
INTEGER istat
UNICOS, UNICOS/mk, and IRIX systems
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
7.2 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.
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
IPXFWSTOPSIG(3F), PXFWAIT(3F)
Application Programmer's Library Reference Manual, publication SR2165,
for the printed version of this man page.
[ Back ]
|