_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-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.