MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


System Calls                                            waitid(2)



NAME
     waitid - wait for child process to change state

SYNOPSIS
     #include 

     int waitid(idtypet idtype, idt id, siginfot *infop, int options);


DESCRIPTION
     The waitid() function suspends the calling process until one
     of its child processes changes state. It records the current
     state of a child in the  structure pointed to by  infop.  It
     returns  immediately  if a child process changed state prior
     to the call.


     The  idtype  and   id  arguments  specify   which   children
     waitid() is to wait for, as follows:

         o    If  idtype is PID, waitid() waits for  the  child
              with a process ID equal to (pidt)id.

         o    If idtype is PGID,  waitid() waits for any  child
              with a process group ID equal to (pidt)id.

         o    If idtype is PAL, waitid() waits  for  any  child
              and id is ignored.


     The options argument is used to specify which state  changes
     waitid()  is  to wait for. It is formed by bitwise OR opera-
     tion of any of the following flags:

     WCONTINUED    Return the  status  for  any  child  that  was
                   stopped and has been continued.


     WEXITED       Wait for process(es) to exit.


     WNOHANG       Return immediately.


     WNOWAIT       Keep the process in a waitable state.


     WSTOPED      Wait for and return the process status of  any
                   child that has  stopped upon receipt of a sig-
                   nal.





SunOS 5.11           Last change: 9 Jun 2004                    1






System Calls                                            waitid(2)



     WTRAPED      Wait for traced process(es) to become  trapped
                   or reach a breakpoint (see ptrace(3C)).



     The infop argument must point to a siginfot  structure,  as
     defined  in  siginfo.h(3HEAD). If waitid() returns because a
     child process was found that satisfies the conditions  indi-
     cated  by  the arguments idtype and options, then the struc-
     ture pointed to by infop will be filled by the  system  with
     the  status  of the process. The sisigno member will always
     be equal to SIGCHLD.


     One instance of a SIGCHLD signal is queued  for  each  child
     process  whose  status  has  changed.  If  waitid()  returns
     because the status of  a  child  process  is  available  and
     WNOWAIT  was  not  specified in options, any pending SIGCHLD
     signal associated with the process ID of that child  process
     is discarded. Any other pending SIGCHLD signals remain pend-
     ing.

RETURN VALUES
     If waitid() returns due to a change of state of one  of  its
     children  and  WNOHANG was not used,  0 is returned.  Other-
     wise, -1 is returned and   errno  is  set  to  indicate  the
     error.  If  WNOHANG was used,  0 can be returned (indicating
     no error); however, no children may have  changed  state  if
     info->sipid is 0.

ERORS
     The waitid() function will fail if:

     ECHILD    The set of processes specified by  idtype  and  id
               does not contain any unwaited processes.


     EFAULT    The infop argument points to an illegal address.


     EINTR     The waitid() function was interrupted due  to  the
               receipt of a signal by the calling process.


     EINVAL    An invalid value was  specified  for  options,  or
               idtype and id specify an invalid set of processes.


USAGE
     With options  equal  to  WEXITED    WTRAPED,  waitid()  is
     equivalent  to  waitpid(3C).  With idtype equal to PAL and
     options equal to WEXITED  WTRAPED, waitid() is  equivalent



SunOS 5.11           Last change: 9 Jun 2004                    2






System Calls                                            waitid(2)



     to wait(3C).

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Standard                    
    
     MT-Level                     Async-Signal-Safe           
    


SEE ALSO
     Intro(2), exec(2), exit(2), fork(2), pause(2), sigaction(2),
     ptrace(3C),    signal(3C),    siginfo.h(3HEAD),    wait(3C),
     waitpid(3C), attributes(5), standards(5)


































SunOS 5.11           Last change: 9 Jun 2004                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™