[PATCH v2] tests/tcg/multiarch/testthread.c: Add pthread_cancel test

Taylor Simpson posted 1 patch 3 years, 3 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1610486730-4970-1-git-send-email-tsimpson@quicinc.com
tests/tcg/multiarch/testthread.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
[PATCH v2] tests/tcg/multiarch/testthread.c: Add pthread_cancel test
Posted by Taylor Simpson 3 years, 3 months ago
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
---
 tests/tcg/multiarch/testthread.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/tests/tcg/multiarch/testthread.c b/tests/tcg/multiarch/testthread.c
index 810ba5d..0da1f61 100644
--- a/tests/tcg/multiarch/testthread.c
+++ b/tests/tcg/multiarch/testthread.c
@@ -50,8 +50,30 @@ void test_pthread(void)
     printf("End of pthread test.\n");
 }
 
+void *thread3_func(void *arg)
+{
+    usleep(3 * 1000);
+    return 0;
+}
+
+void test_cancel(void)
+{
+    pthread_t thread;
+    void *res;
+
+    pthread_create(&thread, 0, thread3_func, NULL);
+    pthread_cancel(thread);
+    pthread_join(thread, &res);
+    if (res != PTHREAD_CANCELED) {
+        puts("ERROR: thread not cancelled");
+        exit(EXIT_FAILURE);
+    }
+    printf("End of pthread_cancel test.\n");
+}
+
 int main(int argc, char **argv)
 {
     test_pthread();
+    test_cancel();
     return 0;
 }
-- 
2.7.4

Re: [PATCH v2] tests/tcg/multiarch/testthread.c: Add pthread_cancel test
Posted by Peter Maydell 3 years, 3 months ago
On Tue, 12 Jan 2021 at 21:27, Taylor Simpson <tsimpson@quicinc.com> wrote:
>
> Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>

What's the motivation for adding this test? Did we have
a bug we fixed which this would be the regression test for?
Some other reason why it seems like a good test case?
This is the sort of thing that it's useful to put in the
commit message...

thanks
-- PMM