libutils: Fix thread safety annotations in Mutex
The annotations for Mutex::tryLock and timedLock were incorrectly specifying the return value for the successful acquisition. Test: make libutils_test Change-Id: I9729b6555ede5cb1d6db046e33c35bf5926c7755
This commit is contained in:
parent
0a887aa14c
commit
e1a285ddc1
2 changed files with 19 additions and 3 deletions
|
@ -29,4 +29,20 @@ TEST(Mutex, compile) {
|
|||
android::Mutex::Autolock _l(mLock);
|
||||
i = 0;
|
||||
modifyLockedVariable();
|
||||
}
|
||||
}
|
||||
|
||||
TEST(Mutex, tryLock) {
|
||||
if (mLock.tryLock() != 0) {
|
||||
return;
|
||||
}
|
||||
mLock.unlock();
|
||||
}
|
||||
|
||||
#if defined(__ANDROID__)
|
||||
TEST(Mutex, timedLock) {
|
||||
if (mLock.timedLock(1) != 0) {
|
||||
return;
|
||||
}
|
||||
mLock.unlock();
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -108,7 +108,7 @@ class CAPABILITY("mutex") Mutex {
|
|||
void unlock() RELEASE();
|
||||
|
||||
// lock if possible; returns 0 on success, error otherwise
|
||||
status_t tryLock() TRY_ACQUIRE(true);
|
||||
status_t tryLock() TRY_ACQUIRE(0);
|
||||
|
||||
#if defined(__ANDROID__)
|
||||
// Lock the mutex, but don't wait longer than timeoutNs (relative time).
|
||||
|
@ -122,7 +122,7 @@ class CAPABILITY("mutex") Mutex {
|
|||
// which is subject to NTP adjustments, and includes time during suspend,
|
||||
// so a timeout may occur even though no processes could run.
|
||||
// Not holding a partial wakelock may lead to a system suspend.
|
||||
status_t timedLock(nsecs_t timeoutNs) TRY_ACQUIRE(true);
|
||||
status_t timedLock(nsecs_t timeoutNs) TRY_ACQUIRE(0);
|
||||
#endif
|
||||
|
||||
// Manages the mutex automatically. It'll be locked when Autolock is
|
||||
|
|
Loading…
Reference in a new issue