From f8ff013e3cc737b92b5a140dfd0ddcc5ab6773d9 Mon Sep 17 00:00:00 2001 From: Michael Bebenita Date: Fri, 27 Aug 2010 18:26:36 -0700 Subject: Added a few utility classes, cleaned up the include order of .h files, and started to make the Rust kernel own domain message queues rather than the Rust domains themselves. --- src/rt/rust_upcall.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/rt/rust_upcall.cpp') diff --git a/src/rt/rust_upcall.cpp b/src/rt/rust_upcall.cpp index 954e7a13ded..0e3961bc24c 100644 --- a/src/rt/rust_upcall.cpp +++ b/src/rt/rust_upcall.cpp @@ -567,11 +567,9 @@ static void *rust_thread_start(void *ptr) // Start a new rust main loop for this thread. dom->start_main_loop(); - rust_srv *srv = dom->srv; + srv->kernel->deregister_domain(dom); delete dom; - delete srv; - return 0; } @@ -611,10 +609,10 @@ upcall_new_thread(rust_task *task, const char *name) { LOG_UPCALL_ENTRY(task); rust_dom *old_dom = task->dom; - rust_dom *new_dom = new rust_dom(old_dom->srv->clone(), + rust_dom *new_dom = new rust_dom(old_dom->srv, old_dom->root_crate, name); - + old_dom->srv->kernel->register_domain(new_dom); task->log(rust_log::UPCALL | rust_log::MEM, "upcall new_thread(%s) = dom 0x%" PRIxPTR " task 0x%" PRIxPTR, name, new_dom, new_dom->root_task); -- cgit 1.4.1-3-g733a5