diff options
Diffstat (limited to 'static/netbsd/man2/_lwp_create.2')
| -rw-r--r-- | static/netbsd/man2/_lwp_create.2 | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/static/netbsd/man2/_lwp_create.2 b/static/netbsd/man2/_lwp_create.2 new file mode 100644 index 00000000..c7c07a40 --- /dev/null +++ b/static/netbsd/man2/_lwp_create.2 @@ -0,0 +1,111 @@ +.\" $NetBSD: _lwp_create.2,v 1.11 2022/12/04 16:17:50 uwe Exp $ +.\" +.\" Copyright (c) 2003 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe of Wasabi Systems, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd April 21, 2017 +.Dt _LWP_CREATE 2 +.Os +.Sh NAME +.Nm _lwp_create +.Nd create a new light-weight process +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In lwp.h +.Ft int +.Fn _lwp_create "ucontext_t *context" "unsigned long flags" "lwpid_t *new_lwp" +.Sh DESCRIPTION +.Fn _lwp_create +causes creation of a new light-weight process, or LWP, and adds it to the +current process. +The +.Fa context +argument specifies the initial execution context for the new LWP including +signal mask, stack, and machine registers. +The signal stack of the newly created light-weight process is reset to +disabled. +If this context specifies invalid register values (for example privilege +escalation by setting machine dependent bits forbidden for user processes), +or does not specify cpu register values +.Fa ( uc_flags +does not have the +.Dv _UC_CPU +bit set), the call will fail and errno will be set to +.Er EINVAL . +.Pp +The following flags affect the creation of the new LWP: +.Bl -tag -width Dv +.It Dv 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 +.Xr _lwp_wait 2 . +.It Dv LWP_SUSPENDED +The LWP is created suspended, and will not begin execution until +it is resumed by another LWP via +.Xr _lwp_continue 2 . +.\" __LWP_ASLWP is not yet implemented by the NetBSD kernel. +.El +.Pp +The LWP ID of the new LWP is stored in the location pointed to by +.Fa new_lwp . +.Sh RETURN VALUES +.Rv -std _lwp_create +.Sh ERRORS +.Fn _lwp_create +will fail and no LWP will be created if: +.Bl -tag -width Er +.It Bq Er EAGAIN +The system-imposed limit on the total +number of LWPs under execution would be exceeded. +This limit is configuration-dependent. +.It Bq Er EFAULT +The address pointed to by +.Fa context +or +.Fa new_lwp +is outside the process's allocated address space. +.It Bq Er EINVAL +The +.Vt ucontext_t +passed is invalid. +.It Bq Er ENOMEM +There is insufficient swap space for the new LWP. +.El +.Sh SEE ALSO +.Xr _lwp_continue 2 , +.Xr _lwp_exit 2 , +.Xr _lwp_wait 2 , +.Xr _lwp_makecontext 3 +.Sh HISTORY +The +.Fn _lwp_create +system call first appeared in +.Nx 2.0 . |
