_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 7.2