The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/man/task_create.man

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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:       task_create.man,v $
   29 .\" Revision 2.5  93/03/18  15:14:44  mrt
   30 .\"     corrected types
   31 .\"     [93/03/12  16:52:23  lli]
   32 .\" 
   33 .\" Revision 2.4  91/05/14  17:12:28  mrt
   34 .\"     Correcting copyright
   35 .\" 
   36 .\" Revision 2.3  91/02/14  14:14:30  mrt
   37 .\"     Changed to new Mach copyright
   38 .\"     [91/02/12  18:15:21  mrt]
   39 .\" 
   40 .\" Revision 2.2  90/08/07  18:43:31  rpd
   41 .\"     Created.
   42 .\" 
   43 .TH task_create 2 1/22/88
   44 .CM 4
   45 .SH NAME
   46 .nf
   47 task_create  \-  creates new task from a parent task
   48 .SH SYNOPSIS
   49 .nf
   50 .ft B
   51 #include <mach.h>
   52 
   53 .nf
   54 .ft B
   55 kern_return_t task_create(parent_task, inherit_memory,
   56                                  child_task)
   57         mach_port_t     parent_task     
   58         boolean_t       inherit_memory;
   59         mach_port_t     *child_task;    /* out */
   60 
   61 
   62 .fi
   63 .ft P
   64 .SH ARGUMENTS
   65 .TP 15
   66 .B
   67 target_task
   68 The task from which the child's capabilities are drawn.
   69 .TP 15
   70 .B
   71 inherit_memory
   72 If set, the child task's address space is built 
   73 from the parent task according to its memory inheritance values;
   74 otherwise, the child task is given an empty address space.
   75 .TP 15
   76 .B
   77 child_task
   78 The new task.
   79 
   80 .SH DESCRIPTION
   81 .B task_create
   82 creates a new task from 
   83 .B parent_task
   84 ; the
   85 resulting task (
   86 .B child_task
   87 )
   88 acquires shared or copied parts of the parent's address space (see
   89 .B vm_inherit
   90 ).
   91 The child task initially contains no threads.
   92 
   93 The child task gets the four special ports created or copied for
   94 it at task creation. The 
   95 .B task_kernel_port
   96 is created and
   97 send rights for it are given to the child and 
   98 returned to the caller. The 
   99 .B task_notify_port
  100 is created and receive, ownership and send rights for it are given to the
  101 child. The caller has no access to it.  The 
  102 .B task_bootstrap_port
  103 and the 
  104 .B task_exception_port
  105 are inherited from the parent task.
  106 The new task can get send rights to these ports with the call 
  107 .B task_get_special_port
  108 .
  109 
  110 .SH DIAGNOSTICS
  111 .TP 25
  112 KERN_SUCCESS
  113 A new task has been created.
  114 .TP 25
  115 KERN_INVALID_ARGUMENT
  116 .B parent_task
  117 is  not a valid task port.
  118 .TP 25
  119 KERN_RESOURCE_SHORTAGE
  120 Some critical kernel resource is unavailable.
  121 
  122 .SH SEE ALSO
  123 .B task_terminate, task_suspend, task_resume, task_special_ports,
  124 .B task_threads, thread_create, thread_resume,
  125 .B vm_inherit
  126 
  127 .SH BUGS
  128 Not implemented yet. Use 
  129 .B fork
  130 .
  131 

Cache object: 69f4a673a56d3e15e7db2d819faacffe


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.