]> git.lizzy.rs Git - rust.git/commitdiff
Rename dec/inc_weak_task_count to inc/dec_live_count and remove register_task/unregis...
authorZack Corr <zack@z0w0.me>
Sat, 9 Feb 2013 09:19:31 +0000 (19:19 +1000)
committerZack Corr <zack@z0w0.me>
Sat, 9 Feb 2013 09:19:31 +0000 (19:19 +1000)
src/libcore/private/weak_task.rs
src/rt/rust_builtin.cpp
src/rt/rust_kernel.cpp
src/rt/rust_kernel.h
src/rt/rust_scheduler.cpp
src/rt/rustrt.def.in

index 9d57cd5a466acc7ec0f1fe735b9be01a63fa13ea..1002fdb0c8c3e9778d9ff0e723bd5261550ad515 100644 (file)
@@ -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_weak_task_count(); }
+    unsafe { rust_inc_kernel_live_count(); }
     do fn&() {
         let shutdown_port = swap_unwrap(&mut *shutdown_port);
         f(shutdown_port)
     }.finally || {
-        unsafe { rust_dec_weak_task_count(); }
+        unsafe { rust_dec_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_weak_task_count(); }
+            unsafe { rust_inc_kernel_live_count(); }
             run_weak_task_service(port);
         }.finally {
             debug!("unweakening the weak service task");
-            unsafe { rust_dec_weak_task_count(); }
+            unsafe { rust_dec_kernel_live_count(); }
         }
     }
 
@@ -126,8 +126,8 @@ fn run_weak_task_service(port: Port<ServiceMsg>) {
 }
 
 extern {
-    unsafe fn rust_inc_weak_task_count();
-    unsafe fn rust_dec_weak_task_count();
+    unsafe fn rust_inc_kernel_live_count();
+    unsafe fn rust_dec_kernel_live_count();
 }
 
 #[test]
index 32f2c4ebde2acddf1dc5769e7b86ce9d06447bd4..df54e47770bcaf07d8984839939b8e09a11e67f7 100644 (file)
@@ -945,15 +945,15 @@ rust_get_global_data_ptr() {
 }
 
 extern "C" void
-rust_inc_weak_task_count() {
+rust_inc_kernel_live_count() {
     rust_task *task = rust_get_current_task();
-    task->kernel->inc_weak_task_count();
+    task->kernel->inc_live_count();
 }
 
 extern "C" void
-rust_dec_weak_task_count() {
+rust_dec_kernel_live_count() {
     rust_task *task = rust_get_current_task();
-    task->kernel->dec_weak_task_count();
+    task->kernel->dec_live_count();
 }
 
 //
index e0494c9300bc3564342193697a781c41e1e503de..6b7a82414161cb791514037214fccb92705d2555 100644 (file)
@@ -291,12 +291,20 @@ rust_kernel::set_exit_status(int code) {
 }
 
 void
-rust_kernel::register_task() {
-    KLOG_("Registering task");
+rust_kernel::inc_live_count() {
     uintptr_t new_non_weak_tasks = sync::increment(non_weak_tasks);
     KLOG_("New non-weak tasks %" PRIdPTR, new_non_weak_tasks);
 }
 
+void
+rust_kernel::dec_live_count() {
+    uintptr_t new_non_weak_tasks = sync::decrement(non_weak_tasks);
+    KLOG_("New non-weak tasks %" PRIdPTR, new_non_weak_tasks);
+    if (new_non_weak_tasks == 0) {
+        begin_shutdown();
+    }
+}
+
 void
 rust_kernel::allow_scheduler_exit() {
     scoped_lock with(sched_lock);
@@ -315,31 +323,6 @@ rust_kernel::allow_scheduler_exit() {
     osmain_sched->allow_exit();
 }
 
-void
-rust_kernel::unregister_task() {
-    KLOG_("Unregistering task");
-    uintptr_t new_non_weak_tasks = sync::decrement(non_weak_tasks);
-    KLOG_("New non-weak tasks %" PRIdPTR, new_non_weak_tasks);
-    if (new_non_weak_tasks == 0) {
-        begin_shutdown();
-    }
-}
-
-void
-rust_kernel::inc_weak_task_count() {
-    uintptr_t new_non_weak_tasks = sync::decrement(non_weak_tasks);
-    KLOG_("New non-weak tasks %" PRIdPTR, new_non_weak_tasks);
-    if (new_non_weak_tasks == 0) {
-        begin_shutdown();
-    }
-}
-
-void
-rust_kernel::dec_weak_task_count() {
-    uintptr_t new_non_weak_tasks = sync::increment(non_weak_tasks);
-    KLOG_("New non-weak tasks %" PRIdPTR, new_non_weak_tasks);
-}
-
 void
 rust_kernel::begin_shutdown() {
     {
index 11af02dace4a062af7d369f721c7ee34a4fd0801..01ebf5ab57b95046c6667c624d2db7835feae60f 100644 (file)
@@ -160,10 +160,8 @@ public:
     rust_sched_id main_sched_id() { return main_scheduler; }
     rust_sched_id osmain_sched_id() { return osmain_scheduler; }
 
-    void register_task();
-    void unregister_task();
-    void inc_weak_task_count();
-    void dec_weak_task_count();
+    void inc_live_count();
+    void dec_live_count();
 
     void register_exit_function(spawn_fn runner, fn_env_pair *f);
 };
index 22dae047e55dfaf4b8c6b825cf3655c2a82bd0b2..e3a5d9db91ffa628234c038431f7dd031d1d28bf 100644 (file)
@@ -123,7 +123,7 @@ rust_scheduler::create_task(rust_task *spawner, const char *name) {
         cur_thread = (thread_no + 1) % max_num_threads;
     }
     KLOG(kernel, kern, "Creating task %s, on thread %d.", name, thread_no);
-    kernel->register_task();
+    kernel->inc_live_count();
     rust_sched_launcher *thread = threads[thread_no];
     return thread->get_loop()->create_task(spawner, name);
 }
@@ -138,7 +138,7 @@ rust_scheduler::release_task() {
             need_exit = true;
         }
     }
-    kernel->unregister_task();
+    kernel->dec_live_count();
     if (need_exit) {
         exit();
     }
index 9076670392a85cd3bd63a44b2e22c7a0fc9fa3b1..7ab07df0bfef10146b760b4cf3bf6d1a0968622a 100644 (file)
@@ -189,6 +189,6 @@ rust_raw_thread_start
 rust_raw_thread_join_delete
 rust_register_exit_function
 rust_get_global_data_ptr
-rust_inc_weak_task_count
-rust_dec_weak_task_count
+rust_inc_kernel_live_count
+rust_dec_kernel_live_count
 rust_get_exchange_count_ptr