diff options
| author | Zack Corr <zack@z0w0.me> | 2013-02-12 12:27:19 +1000 |
|---|---|---|
| committer | Zack Corr <zack@z0w0.me> | 2013-02-12 12:27:19 +1000 |
| commit | 0db527e2f8033e49ee588b3be71f3cd7a0d13b7c (patch) | |
| tree | ca1cd18813bc09c234e2b94640d558e4f86ff1a2 | |
| parent | ebd20b7944c3b427a90e89d3b4a9e43926336eb8 (diff) | |
| download | rust-0db527e2f8033e49ee588b3be71f3cd7a0d13b7c.tar.gz rust-0db527e2f8033e49ee588b3be71f3cd7a0d13b7c.zip | |
core: Fix dec/inc_kernel_live_count mixup
| -rw-r--r-- | src/libcore/private/weak_task.rs | 8 |
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(); } } } |
