]> code.ossystems Code Review - openembedded-core.git/blob
44d707a235484bb248f3aa15c22466e77d68c7d0
[openembedded-core.git] /
1 From 90fdb0ae0418f7907f09b763343a457bdf6855fa Mon Sep 17 00:00:00 2001
2 From: Khem Raj <raj.khem@gmail.com>
3 Date: Mon, 27 Jan 2020 17:17:19 -0800
4 Subject: [PATCH] tests: Make pthread_detatch call portable across platforms
5
6 pthread_t is opaque type therefore we can not apply simple arithmetic to variables of pthread_t type
7 this test needs to pass a invalid pthread_t handle, typcasting to uintptr_t works too and is portable
8 across glibc and musl
9
10 Fixes
11 | pth_detached3.c:24:25: error: invalid use of undefined type 'struct __pthread'
12 |    24 |   pthread_detach(thread + 8);
13 |       |                         ^
14
15 Upstream-Status: Submitted [https://sourceforge.net/p/valgrind/mailman/message/36910506/]
16 Signed-off-by: Khem Raj <raj.khem@gmail.com>
17 ---
18  drd/tests/pth_detached3.c | 3 ++-
19  1 file changed, 2 insertions(+), 1 deletion(-)
20
21 diff --git a/drd/tests/pth_detached3.c b/drd/tests/pth_detached3.c
22 index c02eef11a..efeb15b72 100644
23 --- a/drd/tests/pth_detached3.c
24 +++ b/drd/tests/pth_detached3.c
25 @@ -4,6 +4,7 @@
26  #include <errno.h>
27  #include <pthread.h>
28  #include <stdio.h>
29 +#include <stdint.h>
30  
31  static void* thread_func(void* arg)
32  {
33 @@ -21,7 +22,7 @@ int main(int argc, char** argv)
34    pthread_detach(thread);
35  
36    /* Invoke pthread_detach() with an invalid thread ID. */
37 -  pthread_detach(thread + 8);
38 +  pthread_detach((pthread_t)((uintptr_t)thread + 8));
39  
40    fprintf(stderr, "Finished.\n");
41  
42 -- 
43 2.25.0
44