*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> f90/ipxfwstopsig (3)              
Title
Content
Arch
Section
 

Contents


IPXFWSTOPSIG(3F)				       Last changed: 1-6-98

NAME    [Toc]    [Back]

     IPXFWSTOPSIG - Returns part of the	lower bits of signal number that
     terminates	child process

SYNOPSIS    [Toc]    [Back]

     INTEGER FUNCTION IPXFWSTOPSIG(istat)
     INTEGER istat

IMPLEMENTATION    [Toc]    [Back]

     UNICOS, UNICOS/mk,	and IRIX systems

DESCRIPTION    [Toc]    [Back]

     The IPXFWSTOPSIG integer function returns part of the lower bits of
     the signal	number that caused the child process to	stop.  The
     PXFWIFSTOPPED logical function returns TRUE to indicate that the child
     process has stopped.  IPXFWSTOPSIG	should only be used if
     PXFWIFSTOPPED 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
     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.

EXAMPLES    [Toc]    [Back]

	  program pxftest
	  integer istat, iretpid, ipid,	ierror,	i, j
	  integer iwstopsig, IPXFWSTOPSIG
	  logical lwifstopped, PXFWIFSTOPPED
	  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
		  j = 0
		  do i=1,100000
		     j = j + i
		  enddo
		  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)

	       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 .eq. 0) then
	       print *,'PASSED:	PXFWAIT	test'
	       lwifstopped = PXFWIFSTOPPED(istat)
		  if (lwifstopped .eqv.	.TRUE.)	then
		     iwstopsig = IPXFWSTOPSIG(istat)
			if (iwstopsig .ne. 0) then
			    print *,'PXFWIFSTOPPED test	PASSED'
			    print *,'IPXFWSTOPSIG test PASSED'
			    call PXFCONST("SIGCONT",isig,ierror)
				if (ierror .ne.	0) then
				   print *,'PXFCONST FAILED,ierror=',ierror
				   print *,'isig=', isig
			       else
				   print *, 'PXFCONST PASSED'
			       endif
    ! continue the child process
			       call PXFKILL(ipid,isig,ierror)
			else
			    print *,'PXFWIFSTOPPED test	PASSED'
			    print *,'IPXFWSTOPSIG test FAILED'
			    print *,'PXFWIFSTOPPED returned TRUE'
			    print *,'IPXFWSTOPSIG(istat) = ',iwstopsig
			    print *,'istat = ',	ipid
			    print *,'PXFWAIT istat = ',	istat
			    print *,'iretpid= ', iretpid
			endif
		  else
		     print *,'PXFWIFSTOPPED returned FALSE'
		     print *,'istat = ', ipid
		     print *,'PXFWAIT istat = ', istat
		     print *,'iretpid= ', iretpid
		     print *,'IPXFWSTOPSIG cannot be called.'
		  endif
	    else
	       print *,'FAILED:	PXFWAIT	call with error	= ',ierror
	       print *,'istat =	', ipid
	       print *,'istat =	', istat
	       print *,'iretpid	= ', iretpid
	    endif
       endif
    endif
    print *,'test complete'
    end

SEE ALSO    [Toc]    [Back]

      
      
     PXFWAIT(3F), PXFWIFSTOPPED(3F)

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

[ Back ]
 Similar pages
Name OS Title
ipxfwtermsig IRIX Returns lower bit of signal that terminates a child process
pxfwifsignaled IRIX Determines if the child process terminated because of a signal
bit_size IRIX Returns the number of bits in an integer in the bit manipulation model
exponent IRIX Returns the exponent part of the argument when represented as a numeric model number
lbound IRIX Returns all the lower bounds or a specified lower bound of an array
killall Tru64 Terminates all processes started by the user, except the calling process
pthread_atfork Tru64 Declares fork handler routines to be called when the calling thread's process forks a child process
pxfwait IRIX Obtains information about a calling process' child process
int_mult_upper IRIX Multiplies integers and returns the uppermost bits
popcnt IRIX Counts number of set bits
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service