_LWP_UNPARK_ALL(2)

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