mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 18:13:01 +00:00
drd/tests/pth_detached3: Make pthread_detach() call portable across platforms
pthread_t is opaque type therefore we can not apply simple arithmetic to variables of pthread_t type this test needs to pass a invalid pthread_t handle, typcasting to uintptr_t works too and is portable across glibc and musl Fixes | pth_detached3.c:24:25: error: invalid use of undefined type 'struct __pthread' | 24 | pthread_detach(thread + 8); | | ^ [ bvanassche: reformatted patch description and fixed up line numbers ]
This commit is contained in:
parent
4f70aa4fb0
commit
92fcf75d6d
@ -4,6 +4,7 @@
|
||||
#include <errno.h>
|
||||
#include <pthread.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
static void* thread_func(void* arg)
|
||||
{
|
||||
@ -21,7 +22,7 @@ int main(int argc, char** argv)
|
||||
pthread_detach(thread);
|
||||
|
||||
/* Invoke pthread_detach() with an invalid thread ID. */
|
||||
pthread_detach(thread + 8);
|
||||
pthread_detach((pthread_t)((uintptr_t)thread + 8));
|
||||
|
||||
fprintf(stderr, "Finished.\n");
|
||||
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
|
||||
pthread_detach(): invalid thread ID 0x........
|
||||
at 0x........: pthread_detach (drd_pthread_intercepts.c:?)
|
||||
by 0x........: main (pth_detached3.c:21)
|
||||
by 0x........: main (pth_detached3.c:22)
|
||||
|
||||
pthread_detach(): invalid thread ID 0x........
|
||||
at 0x........: pthread_detach (drd_pthread_intercepts.c:?)
|
||||
by 0x........: main (pth_detached3.c:24)
|
||||
by 0x........: main (pth_detached3.c:25)
|
||||
|
||||
Finished.
|
||||
|
||||
|
||||
@ -2,12 +2,12 @@
|
||||
pthread_detach(): invalid thread ID 0x........
|
||||
at 0x........: vgDrd_set_joinable (drd_pthread_intercepts.c:?)
|
||||
by 0x........: pthread_detach (drd_pthread_intercepts.c:?)
|
||||
by 0x........: main (pth_detached3.c:21)
|
||||
by 0x........: main (pth_detached3.c:22)
|
||||
|
||||
pthread_detach(): invalid thread ID 0x........
|
||||
at 0x........: vgDrd_set_joinable (drd_pthread_intercepts.c:?)
|
||||
by 0x........: pthread_detach (drd_pthread_intercepts.c:?)
|
||||
by 0x........: main (pth_detached3.c:24)
|
||||
by 0x........: main (pth_detached3.c:25)
|
||||
|
||||
Finished.
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user