about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorBrian Anderson <andersrb@gmail.com>2013-06-19 15:32:53 -0700
committerBrian Anderson <andersrb@gmail.com>2013-06-19 15:32:53 -0700
commitb548c781aa959085474d9e16f11a4dffb8420af5 (patch)
treebb83f48e7023220644e79913c0274ba898a6eebf /src/libstd
parent29ad8e15a2b7e2024941d74ea4ce261cb501ded9 (diff)
parent753b497b4e7f5445bd5781572568b2b5cf0ce67d (diff)
downloadrust-b548c781aa959085474d9e16f11a4dffb8420af5.tar.gz
rust-b548c781aa959085474d9e16f11a4dffb8420af5.zip
Merge pull request #3 from toddaaro/io
Updated a match expression to use an enum instead of dispatching on an integer
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/rt/sched.rs34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/libstd/rt/sched.rs b/src/libstd/rt/sched.rs
index 5c082988012..453d3303db6 100644
--- a/src/libstd/rt/sched.rs
+++ b/src/libstd/rt/sched.rs
@@ -381,52 +381,44 @@ impl Scheduler {
                     match home {
                         &Some(Sched(ref home_handle))
                         if home_handle.sched_id != this.sched_id() => {
-                            0
+                            SendHome
                         }
                         &Some(AnySched) if this.run_anything => {
-                            1
+                            ResumeNow
                         }
                         &Some(AnySched) => {
-                            2
+                            Requeue
                         }
                         &Some(Sched(_)) => {
-                            3
+                            ResumeNow
                         }
                         &None => {
-                            4
+                            Homeless
                         }
                     }
                 };
 
                 match action_id {
-                    0 => {
+                    SendHome => {
                         rtdebug!("sending task home");
                         Scheduler::send_task_home(task);
                         Local::put(this);
                         return false;
                     }
-                    1 => {
+                    ResumeNow => {
                         rtdebug!("resuming now");
                         this.resume_task_immediately(task);
                         return true;
                     }
-                    2 => {
+                    Requeue => {
                         rtdebug!("re-queueing")
                         this.enqueue_task(task);
                         Local::put(this);
                         return false;
                     }
-                    3 => {
-                        rtdebug!("resuming now");
-                        this.resume_task_immediately(task);
-                        return true;
-                    }
-                    4 => {
+                    Homeless => {
                         rtabort!("task home was None!");
                     }
-                    _ => {
-                        rtabort!("literally, you should not be here");
-                    }
                 }
             }
 
@@ -654,6 +646,14 @@ impl Scheduler {
     }
 }
 
+// The cases for the below function.                                              
+enum ResumeAction {
+    SendHome,
+    Requeue,
+    ResumeNow,
+    Homeless                                                                      
+}
+
 impl SchedHandle {
     pub fn send(&mut self, msg: SchedMessage) {
         self.queue.push(msg);