_lwp_create(2)
- NetBSD Manual Pages
_LWP_CREATE(2) NetBSD System Calls Manual _LWP_CREATE(2)
NAME
_lwp_create -- create a new light-weight process
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <lwp.h>
int
_lwp_create(ucontext_t *context, unsigned long flags, lwpid_t *new_lwp);
DESCRIPTION
_lwp_create() causes creation of a new light-weight process, or LWP, and
adds it to the current process. The context argument specifies the ini-
tial execution context for the new LWP including signal mask, stack, and
machine registers.
The following flags affect the creation of the new LWP:
LWP_DETACHED The LWP is created detached. The resources associated
with a detached LWP will be automatically reclaimed by the
system when the LWP exits. Otherwise, a terminated LWP's
resources will not be reclaimed until its status is
reported to another LWP via _lwp_wait(2).
LWP_SUSPENDED The LWP is created suspended, and will not begin execution
until it is resumed by another LWP via _lwp_continue(2).
The LWP ID of the new LWP is stored in the location pointed to by
new_lwp.
RETURN VALUES
Upon successful completion, _lwp_create() returns a value of 0. Other-
wise, an error code is returned to indicate the error.
ERRORS
_lwp_create() will fail and no LWP will be created if:
[EAGAIN] The system-imposed limit on the total number of LWPs under exe-
cution would be exceeded. This limit is configuration-depen-
dent.
[ENOMEM] There is insufficient swap space for the new LWP.
[EFAULT] The address pointed to by context or new_lwp is outside the
process's allocated address space.
SEE ALSO
_lwp_continue(2), _lwp_exit(2), _lwp_wait(2), _lwp_makecontext(3)
HISTORY
The _lwp_create() system call first appeared in NetBSD 2.0.
NetBSD 5.1 January 13, 2003 NetBSD 5.1
Powered by man-cgi (2024-03-20).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.