about summary refs log tree commit diff
path: root/src/rt/rust_port.cpp
diff options
context:
space:
mode:
authorEric Holk <eholk@mozilla.com>2011-08-08 18:09:42 -0700
committerEric Holk <eholk@mozilla.com>2011-08-15 09:26:51 -0700
commit04af99ecb0dee1cb3df0032f7e7ba08ffc6c5bd4 (patch)
tree7fdf9e23831a55a67f110565e907260b70421704 /src/rt/rust_port.cpp
parenta21ebb2f5ec5f158c3a2bbbccb76980624b1815f (diff)
downloadrust-04af99ecb0dee1cb3df0032f7e7ba08ffc6c5bd4.tar.gz
rust-04af99ecb0dee1cb3df0032f7e7ba08ffc6c5bd4.zip
First step towards port handles.
Diffstat (limited to 'src/rt/rust_port.cpp')
-rw-r--r--src/rt/rust_port.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/rt/rust_port.cpp b/src/rt/rust_port.cpp
index 62ee80cb1b7..448babfbdee 100644
--- a/src/rt/rust_port.cpp
+++ b/src/rt/rust_port.cpp
@@ -8,6 +8,8 @@ rust_port::rust_port(rust_task *task, size_t unit_sz)
     LOG(task, comm,
         "new rust_port(task=0x%" PRIxPTR ", unit_sz=%d) -> port=0x%"
         PRIxPTR, (uintptr_t)task, unit_sz, (uintptr_t)this);
+
+    id = task->register_port(this);
 }
 
 rust_port::~rust_port() {
@@ -19,6 +21,8 @@ rust_port::~rust_port() {
         rust_chan *chan = chans.peek();
         chan->disassociate();
     }
+
+    task->release_port(id);
 }
 
 bool rust_port::receive(void *dptr) {