Author: theraven
Date: Tue Feb 19 05:28:45 2013
New Revision: 175506
URL: http://llvm.org/viewvc/llvm-project?rev=175506&view=rev
Log:
Fix a bug in mutex_try_to_lock. This was previously trying to unlock a mutex
that it didn't own, causing an assertion failure in mutex.cpp. The issue was
that the unique_lock went out of scope, releasing the lock on m, then
m.unlock() was called on an already-unlocked mutex.
This change removes the spurious m.unlock() call.
If this test was previously passing for anyone with assertions enabled, then
they should investigate bugs in their pthread implementation, as
pthread_unlock() should not return 0 if the mutex is currently unlocked.
Modified:
libcxx/trunk/test/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
Modified:
libcxx/trunk/test/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
URL:
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp?rev=175506&r1=175505&r2=175506&view=diff
==============================================================================
---
libcxx/trunk/test/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
(original)
+++
libcxx/trunk/test/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
Tue Feb 19 05:28:45 2013
@@ -48,7 +48,6 @@ void f()
break;
}
time_point t1 = Clock::now();
- m.unlock();
ns d = t1 - t0 - ms(250);
assert(d < ms(200)); // within 200ms
}
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits