Skip to content

Commit 5cddc31

Browse files
[libc] fix rwlock test (llvm#100962)
Previous commit uses wrong clock id and forget to release an additional rdlock. cc @Eric977 Sorry for missing this in my initial review. Fixes llvm#100960. Notice that the timestamp is created via ```c++ LIBC_NAMESPACE::clock_gettime(CLOCK_REALTIME, &ts); ts.tv_nsec += 50'000; if (ts.tv_nsec >= 1'000'000'000) { ts.tv_nsec -= 1'000'000'000; ts.tv_sec += 1; } ```
1 parent 8e2476e commit 5cddc31

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

libc/test/integration/src/pthread/pthread_rwlock_test.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,13 +217,14 @@ static void timedlock_with_deadlock_test() {
217217
ETIMEDOUT);
218218
ASSERT_EQ(LIBC_NAMESPACE::pthread_rwlock_timedrdlock(&rwlock, &ts), 0);
219219
ASSERT_EQ(
220-
LIBC_NAMESPACE::pthread_rwlock_clockwrlock(&rwlock, CLOCK_MONOTONIC, &ts),
220+
LIBC_NAMESPACE::pthread_rwlock_clockwrlock(&rwlock, CLOCK_REALTIME, &ts),
221221
ETIMEDOUT);
222222
ASSERT_EQ(
223-
LIBC_NAMESPACE::pthread_rwlock_clockrdlock(&rwlock, CLOCK_MONOTONIC, &ts),
223+
LIBC_NAMESPACE::pthread_rwlock_clockrdlock(&rwlock, CLOCK_REALTIME, &ts),
224224
0);
225225
ASSERT_EQ(LIBC_NAMESPACE::pthread_rwlock_unlock(&rwlock), 0);
226226
ASSERT_EQ(LIBC_NAMESPACE::pthread_rwlock_unlock(&rwlock), 0);
227+
ASSERT_EQ(LIBC_NAMESPACE::pthread_rwlock_unlock(&rwlock), 0);
227228
// notice that ts is already expired, but the following should still succeed.
228229
ASSERT_EQ(LIBC_NAMESPACE::pthread_rwlock_tryrdlock(&rwlock), 0);
229230
ASSERT_EQ(LIBC_NAMESPACE::pthread_rwlock_unlock(&rwlock), 0);

0 commit comments

Comments
 (0)