[libc-commits] [PATCH] D79826: [libc] Call mtx_init in mtx_test.
Siva Chandra via Phabricator via libc-commits
libc-commits at lists.llvm.org
Tue May 12 16:43:08 PDT 2020
sivachandra created this revision.
sivachandra added a reviewer: abrachet.
Herald added subscribers: libc-commits, tschuett.
Herald added a project: libc-project.
A typo which was caught has also been fixed.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D79826
Files:
libc/src/threads/mtx_init.h
libc/test/src/threads/mtx_test.cpp
Index: libc/test/src/threads/mtx_test.cpp
===================================================================
--- libc/test/src/threads/mtx_test.cpp
+++ libc/test/src/threads/mtx_test.cpp
@@ -36,6 +36,9 @@
}
TEST(MutexTest, RelayCounter) {
+ ASSERT_EQ(__llvm_libc::mtx_init(&mutex, mtx_plain),
+ static_cast<int>(thrd_success));
+
// The idea of this test is that two competing threads will update
// a counter only if the other thread has updated it.
thrd_t thread;
@@ -43,7 +46,7 @@
int last_count = START;
while (true) {
- ASSERT_EQ(__llvm_libc::mtx_lock(&mutex), (int)thrd_success);
+ ASSERT_EQ(__llvm_libc::mtx_lock(&mutex), static_cast<int>(thrd_success));
if (shared_int == START) {
++shared_int;
last_count = shared_int;
@@ -52,7 +55,7 @@
++shared_int;
last_count = shared_int;
}
- ASSERT_EQ(__llvm_libc::mtx_unlock(&mutex), (int)thrd_success);
+ ASSERT_EQ(__llvm_libc::mtx_unlock(&mutex), static_cast<int>(thrd_success));
if (last_count > MAX)
break;
}
@@ -77,21 +80,28 @@
}
TEST(MutexTest, WaitAndStep) {
+ ASSERT_EQ(__llvm_libc::mtx_init(&start_lock, mtx_plain),
+ static_cast<int>(thrd_success));
+ ASSERT_EQ(__llvm_libc::mtx_init(&step_lock, mtx_plain),
+ static_cast<int>(thrd_success));
+
// In this test, we start a new thread but block it before it can make a
// step. Once we ensure that the thread is blocked, we unblock it.
// After unblocking, we then verify that the thread was indeed unblocked.
step = false;
start = false;
- ASSERT_EQ(__llvm_libc::mtx_lock(&step_lock), (int)thrd_success);
+ ASSERT_EQ(__llvm_libc::mtx_lock(&step_lock), static_cast<int>(thrd_success));
thrd_t thread;
__llvm_libc::thrd_create(&thread, stepper, nullptr);
while (true) {
// Make sure the thread actually started.
- ASSERT_EQ(__llvm_libc::mtx_lock(&start_lock), (int)thrd_success);
+ ASSERT_EQ(__llvm_libc::mtx_lock(&start_lock),
+ static_cast<int>(thrd_success));
bool s = start;
- ASSERT_EQ(__llvm_libc::mtx_unlock(&start_lock), (int)thrd_success);
+ ASSERT_EQ(__llvm_libc::mtx_unlock(&start_lock),
+ static_cast<int>(thrd_success));
if (s)
break;
}
@@ -100,12 +110,15 @@
ASSERT_FALSE(step);
// Unlock the step lock and wait until the step is made.
- ASSERT_EQ(__llvm_libc::mtx_unlock(&step_lock), (int)thrd_success);
+ ASSERT_EQ(__llvm_libc::mtx_unlock(&step_lock),
+ static_cast<int>(thrd_success));
while (true) {
- ASSERT_EQ(__llvm_libc::mtx_lock(&step_lock), (int)thrd_success);
+ ASSERT_EQ(__llvm_libc::mtx_lock(&step_lock),
+ static_cast<int>(thrd_success));
bool current_step_value = step;
- ASSERT_EQ(__llvm_libc::mtx_unlock(&step_lock), (int)thrd_success);
+ ASSERT_EQ(__llvm_libc::mtx_unlock(&step_lock),
+ static_cast<int>(thrd_success));
if (current_step_value)
break;
}
Index: libc/src/threads/mtx_init.h
===================================================================
--- libc/src/threads/mtx_init.h
+++ libc/src/threads/mtx_init.h
@@ -13,7 +13,7 @@
namespace __llvm_libc {
-int mtx_int(mtx_t *mutex, int type);
+int mtx_init(mtx_t *mutex, int type);
} // namespace __llvm_libc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79826.263568.patch
Type: text/x-patch
Size: 3317 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20200512/62ab13ba/attachment.bin>
More information about the libc-commits
mailing list