_LWP_WAIT(2) | System Calls Manual | _LWP_WAIT(2)

# NAME

`_lwp_wait` —
wait for light-weight process termination

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

`#include <lwp.h>`

int
`_lwp_wait`(lwpid_t wlwp, lwpid_t *rlwp);

# DESCRIPTION

`_lwp_wait`() suspends execution of the calling LWP until the LWP specified by wlwp terminates. The specified LWP must not be detached. If wlwp is 0, then `_lwp_wait`() waits for any undetached LWP in the current process.

If rlwp is not `NULL`, then it points to the location where the LWP ID of the exited LWP is stored.

# RETURN VALUES

Upon successful completion, `_lwp_wait`() returns a value of 0. Otherwise, an error code is returned to indicate the error.

# ERRORS

`_lwp_wait`() will fail if:

[`ESRCH`]
  No undetached LWP can be found in the current process corresponding to that specified by wlwp.
[`EDEADLK`]
  The calling LWP is the only LWP in the process.
[`EDEADLK`]
  The LWP ID specified by wlwp is the LWP ID of the calling LWP.
[`EINTR`]
  `_lwp_wait`() was interrupted by a caught signal, or the signal did not have the `SA_RESTART` flag set.

# SEE ALSO

_lwp_create(2), _lwp_exit(2)

# HISTORY

The `_lwp_wait`() system call first appeared in NetBSD 2.0.

January 13, 2003 | NetBSD 9.5