Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (2) — Plan9 3rd Edition (Vita Nuova)

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fork(2)

exits(2)

proc(3)

WAIT(2)

NAME

wait − wait for a process to exit

SYNOPSIS

­#include <u.h>
­#include <libc.h>

int wait(Waitmsg ∗w)

DESCRIPTION

­Wait causes a process to wait for any child process (see fork(2)) to exit. It returns the pid of a child that has exited and fills in ­w with more information about the child.  ­W points to a Waitmsg, which has this structure:

typedef
struct Waitmsg
{
charpid[12]; /∗ of loved one ∗/
chartime[3∗12]; /∗ of loved one & descendants ∗/
charmsg[ERRLEN];
} Waitmsg;

­Pid is the child’s process id.  The ­time array contains the time the child and its descendants spent in user code, the time spent in system calls, and the child’s elapsed real time, all in units of milliseconds.  All integers in a ­Waitmsg are formatted as right-justified textual numbers in 11-byte fields followed by a blank.  ­Msg contains the message that the child specified in exits(2). For a normal exit, ­msg[0] is zero, otherwise ­msg is prefixed by the process name, a blank, the process id, and a colon. 

If there are no more children to wait for, ­wait returns immediately, with return value −1. 

SOURCE

­/sys/src/libc/9syscall

SEE ALSO

fork(2), exits(2), the ­wait file in proc(3)

DIAGNOSTICS

Sets errstr.

Plan 9  —  July 29, 2000

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026