On Mon, Jan 27, 2020 at 7:16 PM Bart Van Assche <bva...@ac...> wrote:
>
> On 2020-01-27 17:23, Khem Raj wrote:
> > 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 (long)thread 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);
> > | | ^
> >
> > Signed-off-by: Khem Raj <raj...@gm...>
> > ---
> > drd/tests/pth_detached3.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drd/tests/pth_detached3.c b/drd/tests/pth_detached3.c
> > index c02eef11a..341193ba1 100644
> > --- a/drd/tests/pth_detached3.c
> > +++ b/drd/tests/pth_detached3.c
> > @@ -21,7 +21,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)((long)thread + 8));
> >
> > fprintf(stderr, "Finished.\n");
>
> Is sizeof(long) always identical to sizeof(pthread_t)? How about casting
> to uintptr_t instead of to long?
Thanks for your review.
I agree using uintptr_t would be better, I have sent a v2
>
> Thanks,
>
> Bart.
>
|