summaryrefslogtreecommitdiff
path: root/static/netbsd/man2/_lwp_create.2
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
commit253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch)
treeadf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man2/_lwp_create.2
parenta9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff)
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man2/_lwp_create.2')
-rw-r--r--static/netbsd/man2/_lwp_create.2111
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 .