about summary refs log tree commit diff
path: root/src/rt/rust_upcall.cpp
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-06-04 22:45:46 -0700
committerBrian Anderson <banderson@mozilla.com>2012-06-04 22:45:46 -0700
commit422aec85d6c02c7ff46be7032a2436c22ffd37fa (patch)
treeb46f5ef4323ee0296f9641144335eb3de67a71de /src/rt/rust_upcall.cpp
parent75e4b8c8e93a2032b711903ba2ba0398b6f4115b (diff)
downloadrust-422aec85d6c02c7ff46be7032a2436c22ffd37fa.tar.gz
rust-422aec85d6c02c7ff46be7032a2436c22ffd37fa.zip
rt: Unique allocations have -1 ref count
Diffstat (limited to 'src/rt/rust_upcall.cpp')
-rw-r--r--src/rt/rust_upcall.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/rt/rust_upcall.cpp b/src/rt/rust_upcall.cpp
index 21df231aee7..7a22d5016f9 100644
--- a/src/rt/rust_upcall.cpp
+++ b/src/rt/rust_upcall.cpp
@@ -168,7 +168,10 @@ exchange_malloc(rust_task *task, type_desc *td, uintptr_t size) {
     void *p = task->kernel->malloc(total_size, "exchange malloc");
 
     rust_opaque_box *header = static_cast<rust_opaque_box*>(p);
+    header->ref_count = -1; // This is not ref counted
     header->td = td;
+    header->prev = 0;
+    header->next = 0;
 
     memset(&header[1], '\0', body_size);