Function - Create caller-specified type of port right.
[in task send right]
The task acquiring the port right.
The kind of entity to be created. This is one of the following:
mach_port_allocate creates a port. The new port is not a
member of any port set. It doesn't have any extant send or
send-once rights. Its make-send count is zero, its sequence
number is zero, its queue limit is MACH_PORT_QLIMIT_DEFAULT, and
it has no queued messages. name denotes the
receive right for the new port.
task does not hold send rights for the new port, only the
receive right. mach_port_insert_right and
mach_port_extract_right can be used to convert the receive right into a
combined send/receive right.
mach_port_allocate creates a port set. The new port set has
mach_port_allocate creates a dead name. The new dead
name has one user reference.
The task's name for the port right. This can be any name
that wasn't in use.
The mach_port_allocate function creates a new right
in the specified task. The new right's name is returned in name.
Ports that are allocated via this call do not support the full set of
Mach port semantics; in particular, the kernel will not provide no-more-senders
notification service requests on such ports. Any attempt to request no-more-senders
will generate an error. Use the mach_port_allocate_full
interface to allocate ports that support the full set of Mach port semantics.
This interface is machine word length specific because of the port name
There was no room in task's IPC name space for another right.