diff options
Diffstat (limited to 'man2')
| -rw-r--r-- | man2/ioctl_list.2 | 20 | ||||
| -rw-r--r-- | man2/listxattr.2 | 8 | ||||
| -rw-r--r-- | man2/memfd_create.2 | 8 | ||||
| -rw-r--r-- | man2/nfsservctl.2 | 24 | ||||
| -rw-r--r-- | man2/open_by_handle_at.2 | 8 | ||||
| -rw-r--r-- | man2/perf_event_open.2 | 12 | ||||
| -rw-r--r-- | man2/poll.2 | 34 | ||||
| -rw-r--r-- | man2/process_vm_readv.2 | 4 | ||||
| -rw-r--r-- | man2/ptrace.2 | 92 | ||||
| -rw-r--r-- | man2/select.2 | 39 | ||||
| -rw-r--r-- | man2/select_tut.2 | 22 | ||||
| -rw-r--r-- | man2/semop.2 | 34 | ||||
| -rw-r--r-- | man2/sendmmsg.2 | 4 | ||||
| -rw-r--r-- | man2/shmget.2 | 1 | ||||
| -rw-r--r-- | man2/sigaction.2 | 8 | ||||
| -rw-r--r-- | man2/spu_run.2 | 4 | ||||
| -rw-r--r-- | man2/umask.2 | 24 | ||||
| -rw-r--r-- | man2/wait4.2 | 48 |
18 files changed, 218 insertions, 176 deletions
diff --git a/man2/ioctl_list.2 b/man2/ioctl_list.2 index fc07aaf99c..ef84eb53aa 100644 --- a/man2/ioctl_list.2 +++ b/man2/ioctl_list.2 @@ -871,14 +871,14 @@ For most drivers use CD_FRAMESIZE, but the Optics Storage driver uses OPT_BLOCKSIZE instead (both have the numerical value 2048). +.PP .nf - CDROMREADCOOKED char [CD_FRAMESIZE] CDROMREADMODE1 char [CD_FRAMESIZE or OPT_BLOCKSIZE] CDROMREADMODE2 char [CD_FRAMESIZE_RAW0] CDROMREADRAW char [CD_FRAMESIZE_RAW] - .fi +.PP .BR EQL_ENSLAVE , .BR EQL_EMANCIPATE , .BR EQL_GETSLAVECFG , @@ -891,16 +891,16 @@ take a The .I ifr_data field is a pointer to another structure as follows: +.PP .nf - EQL_ENSLAVE const struct slaving_request * EQL_EMANCIPATE const struct slaving_request * EQL_GETSLAVECFG struct slave_config * // I-O EQL_SETSLAVECFG const struct slave_config * EQL_GETMASTERCFG struct master_config * EQL_SETMASTERCFG const struct master_config * - .fi +.PP .B FDRAWCMD takes a .IR "struct floppy raw_cmd\ *" . @@ -972,14 +972,14 @@ and .B SIOCDELRT take an input pointer whose type depends on the protocol: +.PP .nf - Most protocols const struct rtentry * AX.25 const struct ax25_route * NET/ROM const struct nr_route_struct * INET6 const struct in6_rtmsg * - .fi +.PP .B SIOCGIFCONF takes a .IR "struct ifconf\ *" . @@ -992,12 +992,12 @@ bytes, into which the kernel writes a list of type .PP .B SIOCSIFHWADDR takes an input pointer whose type depends on the protocol: +.PP .nf - Most protocols const struct ifreq * AX.25 const char [AX25_ADDR_LEN] - .fi +.PP .B TIOCLINUX takes a .IR "const char\ *" . @@ -1011,8 +1011,8 @@ after an N-byte pad. .I struct selection is implicitly defined in .IR drivers/char/selection.c +.PP .nf - TIOCLINUX-2 1 + const struct selection * TIOCLINUX-3 void TIOCLINUX-4 void @@ -1020,8 +1020,8 @@ is implicitly defined in TIOCLINUX-6 char * TIOCLINUX-7 char * TIOCLINUX-10 1 + const char * - .fi +.PP // Duplicate ioctls .PP This list does not include ioctls in the range diff --git a/man2/listxattr.2 b/man2/listxattr.2 index 3d0b232deb..9bca9cbc2f 100644 --- a/man2/listxattr.2 +++ b/man2/listxattr.2 @@ -106,10 +106,10 @@ The .I list of names is returned as an unordered array of null-terminated character strings (attribute names are separated by null bytes (\(aq\\0\(aq)), like this: +.PP .fam C .RS .nf - user.name1\\0system.name1\\0user.name2\\0 .fi .RE @@ -119,10 +119,10 @@ Filesystems that implement POSIX ACLs using extended attributes might return a .I list like this: +.PP .fam C .RS .nf - system.posix_acl_access\\0system.posix_acl_default\\0 .fi .RE @@ -217,7 +217,7 @@ user.empty: <no value> .EE .in .SS Program source (listxattr.c) -.nf +.EX #include <malloc.h> #include <stdio.h> #include <stdlib.h> @@ -330,7 +330,7 @@ main(int argc, char *argv[]) free(buf); exit(EXIT_SUCCESS); } -.fi +.EE .SH SEE ALSO .BR getfattr (1), .BR setfattr (1), diff --git a/man2/memfd_create.2 b/man2/memfd_create.2 index 8d66b79148..230aab71a1 100644 --- a/man2/memfd_create.2 +++ b/man2/memfd_create.2 @@ -358,7 +358,7 @@ Existing seals: WRITE SHRINK .in .SS Program source: t_memfd_create.c \& -.nf +.EX #include <sys/memfd.h> #include <fcntl.h> #include <stdlib.h> @@ -437,10 +437,10 @@ main(int argc, char *argv[]) exit(EXIT_SUCCESS); } -.fi +.EE .SS Program source: t_get_seals.c \& -.nf +.EX #include <sys/memfd.h> #include <fcntl.h> #include <unistd.h> @@ -486,7 +486,7 @@ main(int argc, char *argv[]) exit(EXIT_SUCCESS); } -.fi +.EE .SH SEE ALSO .BR fcntl (2), .BR ftruncate (2), diff --git a/man2/nfsservctl.2 b/man2/nfsservctl.2 index 7dcd4d383f..207acfbcab 100644 --- a/man2/nfsservctl.2 +++ b/man2/nfsservctl.2 @@ -20,19 +20,20 @@ It has been replaced by a set of files in the filesystem; see .BR nfsd (7). .PP -.nf +.in +4n +.EX /* * These are the commands understood by nfsctl(). */ -#define NFSCTL_SVC 0 /* This is a server process. */ -#define NFSCTL_ADDCLIENT 1 /* Add an NFS client. */ -#define NFSCTL_DELCLIENT 2 /* Remove an NFS client. */ -#define NFSCTL_EXPORT 3 /* Export a filesystem. */ -#define NFSCTL_UNEXPORT 4 /* Unexport a filesystem. */ -#define NFSCTL_UGIDUPDATE 5 /* Update a client's UID/GID map - (only in Linux 2.4.x and earlier). */ -#define NFSCTL_GETFH 6 /* Get a file handle (used by mountd) - (only in Linux 2.4.x and earlier). */ +#define NFSCTL_SVC 0 /* This is a server process. */ +#define NFSCTL_ADDCLIENT 1 /* Add an NFS client. */ +#define NFSCTL_DELCLIENT 2 /* Remove an NFS client. */ +#define NFSCTL_EXPORT 3 /* Export a filesystem. */ +#define NFSCTL_UNEXPORT 4 /* Unexport a filesystem. */ +#define NFSCTL_UGIDUPDATE 5 /* Update a client's UID/GID map + (only in Linux 2.4.x and earlier). */ +#define NFSCTL_GETFH 6 /* Get a file handle (used by mountd) + (only in Linux 2.4.x and earlier). */ struct nfsctl_arg { int ca_version; /* safeguard */ @@ -50,7 +51,8 @@ union nfsctl_res { struct knfs_fh cr_getfh; unsigned int cr_debug; }; -.fi +.EE +.in .SH RETURN VALUE On success, zero is returned. On error, \-1 is returned, and diff --git a/man2/open_by_handle_at.2 b/man2/open_by_handle_at.2 index 446afd648d..e99ea4887c 100644 --- a/man2/open_by_handle_at.2 +++ b/man2/open_by_handle_at.2 @@ -505,7 +505,7 @@ open_by_handle_at: Stale NFS file handle .in .SS Program source: t_name_to_handle_at.c \& -.nf +.EX #define _GNU_SOURCE #include <sys/types.h> #include <sys/stat.h> @@ -575,10 +575,10 @@ main(int argc, char *argv[]) exit(EXIT_SUCCESS); } -.fi +.EE .SS Program source: t_open_by_handle_at.c \& -.nf +.EX #define _GNU_SOURCE #include <sys/types.h> #include <sys/stat.h> @@ -715,7 +715,7 @@ main(int argc, char *argv[]) exit(EXIT_SUCCESS); } -.fi +.EE .SH SEE ALSO .BR open (2), .BR libblkid (3), diff --git a/man2/perf_event_open.2 b/man2/perf_event_open.2 index 7089602de7..bada5a9146 100644 --- a/man2/perf_event_open.2 +++ b/man2/perf_event_open.2 @@ -540,9 +540,9 @@ then we are measuring a hardware CPU cache event. To calculate the appropriate .I config value use the following equation: +.PP .RS 4 .nf - (perf_hw_cache_id) | (perf_hw_cache_op_id << 8) | (perf_hw_cache_op_result_id << 16) .fi @@ -1618,8 +1618,8 @@ these fields can be used to compute the time delta since .I time_enabled (in nanoseconds) using rdtsc or similar. +.IP .nf - u64 quot, rem; u64 delta; quot = (cyc >> time_shift); @@ -1638,8 +1638,8 @@ are read in the seqcount loop described above. This delta can then be added to enabled and possible running (if idx), improving the scaling: +.IP .nf - enabled += delta; if (idx) running += delta; @@ -3265,8 +3265,8 @@ the wrong thing on AMD machines until Linux 2.6.35. The following is a short example that measures the total instruction count of a call to .BR printf (3). -.nf - +.PP +.EX #include <stdlib.h> #include <stdio.h> #include <unistd.h> @@ -3319,7 +3319,7 @@ main(int argc, char **argv) close(fd); } -.fi +.EE .SH SEE ALSO .BR fcntl (2), .BR mmap (2), diff --git a/man2/poll.2 b/man2/poll.2 index 922cacc89c..a4f565f906 100644 --- a/man2/poll.2 +++ b/man2/poll.2 @@ -264,25 +264,29 @@ Other than the difference in the precision of the argument, the following .BR ppoll () call: -.nf - - ready = ppoll(&fds, nfds, tmo_p, &sigmask); - -.fi +.PP +.in +4n +.EX +ready = ppoll(&fds, nfds, tmo_p, &sigmask); +.EE +.in +.PP is equivalent to .I atomically executing the following calls: -.nf - - sigset_t origmask; - int timeout; +.PP +.in +4n +.EX +sigset_t origmask; +int timeout; - timeout = (tmo_p == NULL) ? \-1 : - (tmo_p\->tv_sec * 1000 + tmo_p\->tv_nsec / 1000000); - pthread_sigmask(SIG_SETMASK, &sigmask, &origmask); - ready = poll(&fds, nfds, timeout); - pthread_sigmask(SIG_SETMASK, &origmask, NULL); -.fi +timeout = (tmo_p == NULL) ? \-1 : + (tmo_p\->tv_sec * 1000 + tmo_p\->tv_nsec / 1000000); +pthread_sigmask(SIG_SETMASK, &sigmask, &origmask); +ready = poll(&fds, nfds, timeout); +pthread_sigmask(SIG_SETMASK, &origmask, NULL); +.EE +.in .PP See the description of .BR pselect (2) diff --git a/man2/process_vm_readv.2 b/man2/process_vm_readv.2 index 609c2af92a..9e44f55a77 100644 --- a/man2/process_vm_readv.2 +++ b/man2/process_vm_readv.2 @@ -309,7 +309,7 @@ and writes the first 10 bytes into and the second 10 bytes into .IR buf2 . .PP -.nf +.EX #include <sys/uio.h> int @@ -335,7 +335,7 @@ main(void) else return 0; } -.fi +.EE .SH SEE ALSO .BR readv (2), .BR writev (2) diff --git a/man2/ptrace.2 b/man2/ptrace.2 index a79bbd9d50..dc84d4136b 100644 --- a/man2/ptrace.2 +++ b/man2/ptrace.2 @@ -404,8 +404,8 @@ field includes information .BR __SI_FAULT , etc.) that are not otherwise exposed to user space. .PP -.in +10n -.nf +.in +4n +.EX struct ptrace_peeksiginfo_args { u64 off; /* Ordinal position in queue at which to start copying signals */ @@ -1181,16 +1181,18 @@ flag may cause to return 0 ("no wait results available yet") even if the tracer knows there should be a notification. Example: -.nf - - errno = 0; - ptrace(PTRACE_CONT, pid, 0L, 0L); - if (errno == ESRCH) { - /* tracee is dead */ - r = waitpid(tracee, &status, __WALL | WNOHANG); - /* r can still be 0 here! */ - } -.fi +.PP +.in +4n +.EX +errno = 0; +ptrace(PTRACE_CONT, pid, 0L, 0L); +if (errno == ESRCH) { + /* tracee is dead */ + r = waitpid(tracee, &status, __WALL | WNOHANG); + /* r can still be 0 here! */ +} +.EE +.in .\" FIXME . .\" waitid usage? WNOWAIT? .\" describe how wait notifications queue (or not queue) @@ -1815,18 +1817,20 @@ the tracer can read and write data to the tracee using informational commands. These commands leave the tracee in ptrace-stopped state: .PP -.nf - ptrace(PTRACE_PEEKTEXT/PEEKDATA/PEEKUSER, pid, addr, 0); - ptrace(PTRACE_POKETEXT/POKEDATA/POKEUSER, pid, addr, long_val); - ptrace(PTRACE_GETREGS/GETFPREGS, pid, 0, &struct); - ptrace(PTRACE_SETREGS/SETFPREGS, pid, 0, &struct); - ptrace(PTRACE_GETREGSET, pid, NT_foo, &iov); - ptrace(PTRACE_SETREGSET, pid, NT_foo, &iov); - ptrace(PTRACE_GETSIGINFO, pid, 0, &siginfo); - ptrace(PTRACE_SETSIGINFO, pid, 0, &siginfo); - ptrace(PTRACE_GETEVENTMSG, pid, 0, &long_var); - ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_flags); -.fi +.in +4n +.EX +ptrace(PTRACE_PEEKTEXT/PEEKDATA/PEEKUSER, pid, addr, 0); +ptrace(PTRACE_POKETEXT/POKEDATA/POKEUSER, pid, addr, long_val); +ptrace(PTRACE_GETREGS/GETFPREGS, pid, 0, &struct); +ptrace(PTRACE_SETREGS/SETFPREGS, pid, 0, &struct); +ptrace(PTRACE_GETREGSET, pid, NT_foo, &iov); +ptrace(PTRACE_SETREGSET, pid, NT_foo, &iov); +ptrace(PTRACE_GETSIGINFO, pid, 0, &siginfo); +ptrace(PTRACE_SETSIGINFO, pid, 0, &siginfo); +ptrace(PTRACE_GETEVENTMSG, pid, 0, &long_var); +ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_flags); +.EE +.in .PP Note that some errors are not reported. For example, setting signal information @@ -2714,29 +2718,39 @@ file descriptor. The usual symptom of this bug is that when you attach to a quiescent process with the command .PP - strace \-p <process-ID> +.in +4n +.EX +strace \-p <process-ID> +.EE +.in .PP then, instead of the usual and expected one-line output such as -.nf - - restart_syscall(<... resuming interrupted call ...>_ - -.fi +.PP +.in +4n +.EX +restart_syscall(<... resuming interrupted call ...>_ +.EE +.in +.PP or -.nf - - select(6, [5], NULL, [5], NULL_ - -.fi +.PP +.in +4n +.EX +select(6, [5], NULL, [5], NULL_ +.EE +.in +.PP ('_' denotes the cursor position), you observe more than one line. For example: -.nf - +.PP +.in +4n +.EX clock_gettime(CLOCK_MONOTONIC, {15370, 690928118}) = 0 epoll_wait(4,_ - -.fi +.EE +.in +.PP What is not visible here is that the process was blocked in .BR epoll_wait (2) before diff --git a/man2/select.2 b/man2/select.2 index 8e7d9eefc9..fb412f02fb 100644 --- a/man2/select.2 +++ b/man2/select.2 @@ -219,23 +219,28 @@ Other than the difference in the precision of the argument, the following .BR pselect () call: -.nf - - ready = pselect(nfds, &readfds, &writefds, &exceptfds, - timeout, &sigmask); - -.fi +.PP +.in +4n +.EX +ready = pselect(nfds, &readfds, &writefds, &exceptfds, + timeout, &sigmask); +.EE +.in +.PP is equivalent to .I atomically executing the following calls: -.nf - - sigset_t origmask; +.PP +.in +4n +.EX +sigset_t origmask; - pthread_sigmask(SIG_SETMASK, &sigmask, &origmask); - ready = select(nfds, &readfds, &writefds, &exceptfds, timeout); - pthread_sigmask(SIG_SETMASK, &origmask, NULL); -.fi +pthread_sigmask(SIG_SETMASK, &sigmask, &origmask); +ready = select(nfds, &readfds, &writefds, &exceptfds, timeout); +pthread_sigmask(SIG_SETMASK, &origmask, NULL); +.EE +.in +.PP .PP The reason that .BR pselect () @@ -553,9 +558,9 @@ The final argument of the system call is not a .I "sigset_t\ *" pointer, but is instead a structure of the form: +.PP .in +4 -.nf - +.EX struct { const kernel_sigset_t *ss; /* Pointer to signal set */ size_t ss_len; /* Size (in bytes) of object @@ -651,7 +656,7 @@ but the glibc wrapper hides this behavior by internally copying the .I timeout to a local variable and passing that variable to the system call. .SH EXAMPLE -.nf +.EX #include <stdio.h> #include <stdlib.h> #include <sys/time.h> @@ -688,7 +693,7 @@ main(void) exit(EXIT_SUCCESS); } -.fi +.EE .SH SEE ALSO .BR accept (2), .BR connect (2), diff --git a/man2/select_tut.2 b/man2/select_tut.2 index 4d06c0963d..cef482003d 100644 --- a/man2/select_tut.2 +++ b/man2/select_tut.2 @@ -251,7 +251,7 @@ call would enable by using an empty signal mask. Our program would look like: .PP -.nf +.EX static volatile sig_atomic_t got_SIGCHLD = 0; static void @@ -305,7 +305,7 @@ main(int argc, char *argv[]) /* main body of program */ } } -.fi +.EE .SS Practical So what is the point of .BR select ()? @@ -474,12 +474,14 @@ function, you can call with a finite timeout and no file descriptors as follows: .PP -.nf - struct timeval tv; - tv.tv_sec = 0; - tv.tv_usec = 200000; /* 0.2 seconds */ - select(0, NULL, NULL, NULL, &tv); -.fi +.in +4n +.EX +struct timeval tv; +tv.tv_sec = 0; +tv.tv_usec = 200000; /* 0.2 seconds */ +select(0, NULL, NULL, NULL, &tv); +.EE +.in .PP This is guaranteed to work only on UNIX systems, however. .SH RETURN VALUE @@ -532,7 +534,7 @@ Here is an example that better demonstrates the true utility of The listing below is a TCP forwarding program that forwards from one TCP port to another. .PP -.nf +.EX #include <stdlib.h> #include <stdio.h> #include <unistd.h> @@ -797,7 +799,7 @@ main(int argc, char *argv[]) } exit(EXIT_SUCCESS); } -.fi +.EE .PP The above program properly forwards most kinds of TCP connections including OOB signal data transmitted by \fBtelnet\fP servers. diff --git a/man2/semop.2 b/man2/semop.2 index 88de490486..95940782fd 100644 --- a/man2/semop.2 +++ b/man2/semop.2 @@ -522,26 +522,28 @@ The following code segment uses .BR semop () to atomically wait for the value of semaphore 0 to become zero, and then increment the semaphore value by one. -.nf - - struct sembuf sops[2]; - int semid; +.PP +.in +4n +.EX +struct sembuf sops[2]; +int semid; - /* Code to set \fIsemid\fP omitted */ +/* Code to set \fIsemid\fP omitted */ - sops[0].sem_num = 0; /* Operate on semaphore 0 */ - sops[0].sem_op = 0; /* Wait for value to equal 0 */ - sops[0].sem_flg = 0; +sops[0].sem_num = 0; /* Operate on semaphore 0 */ +sops[0].sem_op = 0; /* Wait for value to equal 0 */ +sops[0].sem_flg = 0; - sops[1].sem_num = 0; /* Operate on semaphore 0 */ - sops[1].sem_op = 1; /* Increment value by one */ - sops[1].sem_flg = 0; +sops[1].sem_num = 0; /* Operate on semaphore 0 */ +sops[1].sem_op = 1; /* Increment value by one */ +sops[1].sem_flg = 0; - if (semop(semid, sops, 2) == \-1) { - perror("semop"); - exit(EXIT_FAILURE); - } -.fi +if (semop(semid, sops, 2) == \-1) { + perror("semop"); + exit(EXIT_FAILURE); +} +.EE +.in .SH SEE ALSO .BR clone (2), .BR semctl (2), diff --git a/man2/sendmmsg.2 b/man2/sendmmsg.2 index 7dfa4d608d..ce441ef77f 100644 --- a/man2/sendmmsg.2 +++ b/man2/sendmmsg.2 @@ -175,7 +175,7 @@ and in two distinct UDP datagrams using one system call. The contents of the first datagram originates from a pair of buffers. .PP -.nf +.EX #define _GNU_SOURCE #include <netinet/ip.h> #include <stdio.h> @@ -232,7 +232,7 @@ main(void) exit(0); } -.fi +.EE .SH SEE ALSO .BR recvmmsg (2), .BR sendmsg (2), diff --git a/man2/shmget.2 b/man2/shmget.2 index ec30bc2b2b..0c816c6b34 100644 --- a/man2/shmget.2 +++ b/man2/shmget.2 @@ -124,7 +124,6 @@ the base-2 logarithm of the desired page size in the six bits at the offset .BR SHM_HUGE_SHIFT . Thus, the above two constants are defined as: .IP -.nf .in +4 .EX #define SHM_HUGE_2MB (21 << SHM_HUGE_SHIFT) diff --git a/man2/sigaction.2 b/man2/sigaction.2 index b877921d48..b5aec082da 100644 --- a/man2/sigaction.2 +++ b/man2/sigaction.2 @@ -546,9 +546,11 @@ will contain .BR SIGTRAP and have the ptrace event in the high byte: .PP -.nf - (SIGTRAP | PTRACE_EVENT_foo << 8). -.fi +.in +4n +.EX +(SIGTRAP | PTRACE_EVENT_foo << 8). +.EE +.in .PP For a .RB non- ptrace (2) diff --git a/man2/spu_run.2 b/man2/spu_run.2 index 528c8c1390..0efd3fae68 100644 --- a/man2/spu_run.2 +++ b/man2/spu_run.2 @@ -210,7 +210,7 @@ program with the .BR spu_run () system call. .PP -.nf +.EX #include <stdlib.h> #include <stdint.h> #include <unistd.h> @@ -258,7 +258,7 @@ int main(void) exit(EXIT_SUCCESS); } -.fi +.EE .\" .SH AUTHORS .\" Arnd Bergmann <arndb@de.ibm.com>, Jeremy Kerr <jk@ozlabs.org> .SH SEE ALSO diff --git a/man2/umask.2 b/man2/umask.2 index 756176bc3f..8501b00447 100644 --- a/man2/umask.2 +++ b/man2/umask.2 @@ -92,18 +92,22 @@ In the usual case where the argument to .BR open (2) is specified as: -.nf - - S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH - -.fi +.PP +.in +4n +.EX +S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH +.EE +.in +.PP (octal 0666) when creating a new file, the permissions on the resulting file will be: -.nf - - S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH - -.fi +.PP +.in +4n +.EX +S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH +.EE +.in +.PP (because 0666 & ~022 = 0644; i.e., rw\-r\-\-r\-\-). .SH RETURN VALUE This system call always succeeds and the previous value of the mask diff --git a/man2/wait4.2 b/man2/wait4.2 index 5a121a40a9..a88b188838 100644 --- a/man2/wait4.2 +++ b/man2/wait4.2 @@ -88,31 +88,39 @@ Other than the use of the argument, the following .BR wait3 () call: -.nf - - wait3(wstatus, options, rusage); - -.fi +.PP +.in +4n +.EX +wait3(wstatus, options, rusage); +.EE +.in +.PP is equivalent to: -.nf - - waitpid(\-1, wstatus, options); - -.fi +.PP +.in +4n +.EX +waitpid(\-1, wstatus, options); +.EE +.in +.PP Similarly, the following .BR wait4 () call: -.nf - - wait4(pid, wstatus, options, rusage); - -.fi +.PP +.in +4n +.EX +wait4(pid, wstatus, options, rusage); +.EE +.in +.PP is equivalent to: -.nf - - waitpid(pid, wstatus, options); - -.fi +.PP +.in +4n +.EX +waitpid(pid, wstatus, options); +.EE +.in +.PP In other words, .BR wait3 () waits of any child, while |
