1 .\"
2 .\" Mach Operating System
3 .\" Copyright (c) 1991,1990 Carnegie Mellon University
4 .\" All Rights Reserved.
5 .\"
6 .\" Permission to use, copy, modify and distribute this software and its
7 .\" documentation is hereby granted, provided that both the copyright
8 .\" notice and this permission notice appear in all copies of the
9 .\" software, derivative works or modified versions, and any portions
10 .\" thereof, and that both notices appear in supporting documentation.
11 .\"
12 .\" CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13 .\" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14 .\" ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15 .\"
16 .\" Carnegie Mellon requests users of this software to return to
17 .\"
18 .\" Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 .\" School of Computer Science
20 .\" Carnegie Mellon University
21 .\" Pittsburgh PA 15213-3890
22 .\"
23 .\" any improvements or extensions that they make and grant Carnegie Mellon
24 .\" the rights to redistribute these changes.
25 .\"
26 .\"
27 .\" HISTORY
28 .\" $Log: thread_create.man,v $
29 .\" Revision 2.5 93/03/18 15:15:37 mrt
30 .\" corrected types
31 .\" [93/03/12 16:53:47 lli]
32 .\"
33 .\" Revision 2.4 91/05/14 17:13:55 mrt
34 .\" Correcting copyright
35 .\"
36 .\" Revision 2.3 91/02/14 14:15:12 mrt
37 .\" Changed to new Mach copyright
38 .\" [91/02/12 18:16:02 mrt]
39 .\"
40 .\" Revision 2.2 90/08/07 18:45:20 rpd
41 .\" Created.
42 .\"
43 .TH thread_create 2 1/22/88
44 .CM 4
45 .SH NAME
46 .nf
47 thread_create \- creates new thread within named task
48 .SH SYNOPSIS
49 .nf
50 .ft B
51 #include <mach.h>
52
53 .nf
54 .ft B
55 kern_return_t thread_create(parent_task, child_thread)
56 mach_port_t parent_task;
57 mach_port_t *child_thread; /* out */
58
59
60 .fi
61 .ft P
62 .SH DESCRIPTION
63 .B thread_create
64 creates a new thread within the task
65 specified by
66 .B parent_task
67 .
68 The new thread has no processor state, and has a suspend count of 1.
69 To get a new thread to run, first
70 .B thread_create
71 is called to get
72 the new thread's identifier,(
73 .B child_thread
74 ). Then
75 .B thread_set_state
76 is called to set a processor state, and finally
77 .B thread_resume
78 is
79 called to get the thread scheduled to execute.
80
81 When the thread is created send rights to its thread kernel port are
82 given to it and returned to the caller in
83 .B child_thread
84 .
85 The new thread's exception port is set to
86 .B PORT_NULL
87 .
88
89 .SH ARGUMENTS
90 .TP 15
91 .B
92 parent_task
93 The task which is to contain the new thread.
94 .TP 15
95 .B
96 child_thread
97 The new thread.
98
99 .SH DIAGNOSTICS
100 .TP 25
101 KERN_SUCCESS
102 A new thread has been created.
103 .TP 25
104 KERN_INVALID_ARGUMENT
105 .B parent_task
106 is not a valid task.
107 .TP 25
108 KERN_RESOURCE_SHORTAGE
109 Some critical kernel resource is not
110 available.
111
112 .SH SEE ALSO
113 .B task_create, task_threads, thread_terminate, thread_suspend,
114 .B thread_resume, thread_special_ports, thread_set_state
115
116
117
Cache object: 135cf7621e8c5b3b8b6abadcc1779d75
|