Chromium Code Reviews| Index: webrtc/base/event.cc |
| diff --git a/webrtc/base/event.cc b/webrtc/base/event.cc |
| index a9af20863194c02de5a9234b20966f60089c24ca..0e267dc1ac31a0743613650233229a0e6a12e6d0 100644 |
| --- a/webrtc/base/event.cc |
| +++ b/webrtc/base/event.cc |
| @@ -79,14 +79,13 @@ void Event::Reset() { |
| } |
| bool Event::Wait(int milliseconds) { |
| - pthread_mutex_lock(&event_mutex_); |
| int error = 0; |
| + struct timespec ts; |
| if (milliseconds != kForever) { |
| // Converting from seconds and microseconds (1e-6) plus |
| // milliseconds (1e-3) to seconds and nanoseconds (1e-9). |
| - struct timespec ts; |
| #if HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE |
| // Use relative time version, which tends to be more efficient for |
| // pthread implementations where provided (like on Android). |
| @@ -105,7 +104,10 @@ bool Event::Wait(int milliseconds) { |
| ts.tv_nsec -= 1000000000; |
| } |
| #endif |
| + } |
| + pthread_mutex_lock(&event_mutex_); |
|
tommi
2016/02/19 16:40:42
There's a slight change in behavior because of thi
|
| + if (milliseconds != kForever) { |
| while (!event_status_ && error == 0) { |
| #if HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE |
| error = pthread_cond_timedwait_relative_np( |