diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-02-02 18:25:49 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-02-02 18:25:49 -0800 |
| commit | 9c33f2c561c77567738ee949d0c39122daec063b (patch) | |
| tree | 5df233be5a6991b68b99b3e7a8322b68ed1fbf03 /src/rt | |
| parent | cd774fc5fab0791c3463ab192de9e0900904b460 (diff) | |
| download | rust-9c33f2c561c77567738ee949d0c39122daec063b.tar.gz rust-9c33f2c561c77567738ee949d0c39122daec063b.zip | |
rt: Remove lock_and_signal::timed_wait
Diffstat (limited to 'src/rt')
| -rw-r--r-- | src/rt/sync/lock_and_signal.cpp | 37 | ||||
| -rw-r--r-- | src/rt/sync/lock_and_signal.h | 1 |
2 files changed, 2 insertions, 36 deletions
diff --git a/src/rt/sync/lock_and_signal.cpp b/src/rt/sync/lock_and_signal.cpp index b678530e5a4..a18bc0ea027 100644 --- a/src/rt/sync/lock_and_signal.cpp +++ b/src/rt/sync/lock_and_signal.cpp @@ -68,50 +68,17 @@ void lock_and_signal::unlock() { * Wait indefinitely until condition is signaled. */ void lock_and_signal::wait() { - timed_wait(0); -} - -bool lock_and_signal::timed_wait(size_t timeout_in_ms) { assert(lock_held_by_current_thread()); _holding_thread = INVALID_THREAD; - bool rv = true; #if defined(__WIN32__) LeaveCriticalSection(&_cs); - DWORD timeout = timeout_in_ms == 0 ? INFINITE : timeout_in_ms; - rv = WaitForSingleObject(_event, timeout) != WAIT_TIMEOUT; + WaitForSingleObject(_event, INFINITE); EnterCriticalSection(&_cs); _holding_thread = GetCurrentThreadId(); #else - if (timeout_in_ms == 0) { - CHECKED(pthread_cond_wait(&_cond, &_mutex)); - } else { - timeval time_val; - gettimeofday(&time_val, NULL); - timespec time_spec; - time_spec.tv_sec = time_val.tv_sec + 0; - time_spec.tv_nsec = time_val.tv_usec * 1000 + timeout_in_ms * 1000000; - if(time_spec.tv_nsec >= 1000000000) { - time_spec.tv_sec++; - time_spec.tv_nsec -= 1000000000; - } - int cond_wait_status - = pthread_cond_timedwait(&_cond, &_mutex, &time_spec); - switch(cond_wait_status) { - case 0: - // successfully grabbed the lock. - break; - case ETIMEDOUT: - // Oops, we timed out. - rv = false; - break; - default: - // Error - CHECKED(cond_wait_status); - } - } + CHECKED(pthread_cond_wait(&_cond, &_mutex)); _holding_thread = pthread_self(); #endif - return rv; } /** diff --git a/src/rt/sync/lock_and_signal.h b/src/rt/sync/lock_and_signal.h index f5137ca0073..654731269f1 100644 --- a/src/rt/sync/lock_and_signal.h +++ b/src/rt/sync/lock_and_signal.h @@ -21,7 +21,6 @@ public: void lock(); void unlock(); void wait(); - bool timed_wait(size_t timeout_in_ns); void signal(); void signal_all(); |
