summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1996-03-29 14:04:48 +0000
committerMichael I. Bushnell <mib@gnu.org>1996-03-29 14:04:48 +0000
commit921a9a39750ec2580ece31d2829fc5db0a00358c (patch)
tree06405347d617a34f13e80714aff388738db8008e
parente4ae548899601b5b8a4b78c3b8bf83932dfe5679 (diff)
(ports_claim_right): Doc fix.
(ports_transfer_right): New function.
-rw-r--r--libports/ports.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/libports/ports.h b/libports/ports.h
index 225171f4..ef15e321 100644
--- a/libports/ports.h
+++ b/libports/ports.h
@@ -192,9 +192,17 @@ void ports_destroy_right (void *port);
/* Return the receive right currently associated with PORT. The effects
on PORT are the same as in ports_destroy_right, except that the receive
- right itself is not affected. */
+ right itself is not affected. Note that in multi-threaded servers,
+ messages might already have been dequeued for this port before it gets
+ removed from the portset; such messages will get EOPNOTSUPP errors. */
mach_port_t ports_claim_right (void *port);
+/* Transfer the receive right from FROMPT to TOPT. FROMPT ends up
+ with a destroyed right (as if ports_destroy_right were called) and
+ TOPT's old right is destroyed (as if ports_reallocate_from_external
+ were called. */
+error_t ports_transfer_right (void *topt, void *frompt);
+
/* Return the name of the receive right associated with PORT. The user
is responsible for creating an ordinary send right from this name. */
mach_port_t ports_get_right (void *port);