about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libcore/private/weak_task.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libcore/private/weak_task.rs b/src/libcore/private/weak_task.rs
index 1002fdb0c8c..7b9dfd9b457 100644
--- a/src/libcore/private/weak_task.rs
+++ b/src/libcore/private/weak_task.rs
@@ -40,12 +40,12 @@ pub unsafe fn weaken_task(f: &fn(Port<ShutdownMsg>)) {
     let task = get_task_id();
     // Expect the weak task service to be alive
     assert service.try_send(RegisterWeakTask(task, shutdown_chan));
-    unsafe { rust_inc_kernel_live_count(); }
+    unsafe { rust_dec_kernel_live_count(); }
     do fn&() {
         let shutdown_port = swap_unwrap(&mut *shutdown_port);
         f(shutdown_port)
     }.finally || {
-        unsafe { rust_dec_kernel_live_count(); }
+        unsafe { rust_inc_kernel_live_count(); }
         // Service my have already exited
         service.send(UnregisterWeakTask(task));
     }
@@ -78,11 +78,11 @@ fn create_global_service() -> ~WeakTaskService {
             let port = swap_unwrap(&mut *port);
             // The weak task service is itself a weak task
             debug!("weakening the weak service task");
-            unsafe { rust_inc_kernel_live_count(); }
+            unsafe { rust_dec_kernel_live_count(); }
             run_weak_task_service(port);
         }.finally {
             debug!("unweakening the weak service task");
-            unsafe { rust_dec_kernel_live_count(); }
+            unsafe { rust_inc_kernel_live_count(); }
         }
     }