_LWP_UNPARK_ALL(2) | System Calls Manual | _LWP_UNPARK_ALL(2)

# NAME

`_lwp_unpark_all` —
resume execution of a waiting LWP

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

`#include <lwp.h>`

ssize_t
`_lwp_unpark_all`(const lwpid_t *targets, size_t ntargets, const void *hint);

# DESCRIPTION

`_lwp_unpark_all`() resumes execution of one or more light-weight processes listed in the array pointed to by targets.

The target LWPs are assumed to be waiting in the kernel as a result of calls to `_lwp_park`(). If any of the target LWPs are not currently waiting, those LWPs will return immediately upon the next call to `_lwp_park`().

The value pointed to by ntargets specifies the size of the array pointed to by targets. If the targets argument is given as `NULL`, the maximum size of the array (expressed as the number of entries) is returned.

See _lwp_park(2) for a description of the hint argument.

# RETURN VALUES

If the maximum size of the targets array is not being queried, a return of 0 indicates that the call succeeded. A -1 return value indicates an error occurred and errno is set to indicate the reason.

# ERRORS

[`EFAULT`]
  The value specified for targets is invalid.
[`EINVAL`]
  The value specified for ntargets is out of range.
[`ENOMEM`]
  Insufficient resources are available to complete the operation.

# SEE ALSO

_lwp_park(2), _lwp_unpark(2), _lwp_wakeup(2)

# HISTORY

The `_lwp_unpark_all`() system call first appeared in NetBSD 5.0.

February 10, 2007 | NetBSD 9.5