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