February 10, 2007 _LWP_UNPARK_ALL 2

### NAME

_lwp_unpark_all - resume execution of a waiting LWP

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```ssize_t` _lwp_unpark_all(```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 immediatley 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 NetBSD5.0.