_LWP_UNPARK_ALL(2)

NAME
_lwp_unpark_all - resume execution of a waiting LWP

LIBRARY
libc

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 ntargets argument 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, the _lwp_unpark_all() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

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.