about summary refs log tree commit diff
path: root/src/rt
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-02-02 18:29:03 -0800
committerBrian Anderson <banderson@mozilla.com>2012-02-02 18:29:03 -0800
commit3b4dd26ff1ac2bea0dec22ea35f1b0a850f4ecb4 (patch)
tree98db750a2406166d8a70b138c5243281a0d7f01b /src/rt
parent9c33f2c561c77567738ee949d0c39122daec063b (diff)
downloadrust-3b4dd26ff1ac2bea0dec22ea35f1b0a850f4ecb4.tar.gz
rust-3b4dd26ff1ac2bea0dec22ea35f1b0a850f4ecb4.zip
rt: Remove lock_and_signal::signal_all
Diffstat (limited to 'src/rt')
-rw-r--r--src/rt/rust_scheduler.cpp2
-rw-r--r--src/rt/sync/lock_and_signal.cpp16
-rw-r--r--src/rt/sync/lock_and_signal.h1
3 files changed, 1 insertions, 18 deletions
diff --git a/src/rt/rust_scheduler.cpp b/src/rt/rust_scheduler.cpp
index 0e559d56060..4262c34c6dc 100644
--- a/src/rt/rust_scheduler.cpp
+++ b/src/rt/rust_scheduler.cpp
@@ -358,7 +358,7 @@ rust_scheduler::exit() {
     A(this, !lock.lock_held_by_current_thread(), "Shouldn't have lock");
     scoped_lock with(lock);
     should_exit = true;
-    lock.signal_all();
+    lock.signal();
 }
 
 //
diff --git a/src/rt/sync/lock_and_signal.cpp b/src/rt/sync/lock_and_signal.cpp
index a18bc0ea027..e82e6dc51b7 100644
--- a/src/rt/sync/lock_and_signal.cpp
+++ b/src/rt/sync/lock_and_signal.cpp
@@ -18,11 +18,6 @@
 lock_and_signal::lock_and_signal()
     : _holding_thread(INVALID_THREAD)
 {
-    // FIXME: In order to match the behavior of pthread_cond_broadcast on
-    // Windows, we create manual reset events. This however breaks the
-    // behavior of pthread_cond_signal, fixing this is quite involved:
-    // refer to: http://www.cs.wustl.edu/~schmidt/win32-cv-1.html
-
     _event = CreateEvent(NULL, TRUE, FALSE, NULL);
     InitializeCriticalSection(&_cs);
 }
@@ -92,17 +87,6 @@ void lock_and_signal::signal() {
 #endif
 }
 
-/**
- * Signal condition, and resume all waiting threads.
- */
-void lock_and_signal::signal_all() {
-#if defined(__WIN32__)
-    SetEvent(_event);
-#else
-    CHECKED(pthread_cond_broadcast(&_cond));
-#endif
-}
-
 bool lock_and_signal::lock_held_by_current_thread()
 {
 #if defined(__WIN32__)
diff --git a/src/rt/sync/lock_and_signal.h b/src/rt/sync/lock_and_signal.h
index 654731269f1..4fc629b9fac 100644
--- a/src/rt/sync/lock_and_signal.h
+++ b/src/rt/sync/lock_and_signal.h
@@ -22,7 +22,6 @@ public:
     void unlock();
     void wait();
     void signal();
-    void signal_all();
 
     bool lock_held_by_current_thread();
 };