pthread_sigqueue(): First parameter is incompatible with glibc
Mark Geisert
mark@maxrnd.com
Fri Sep 13 05:42:46 GMT 2024
Hi Christian,
On 9/12/2024 9:21 AM, Christian Franke via Cygwin wrote:
> Cygwin /usr/include/pthread.h:
>
> int pthread_sigqueue (pthread_t *, int, const union sigval);
>
> Linux /usr/include/x86_64-linux-gnu/bits/sigthread.h:
>
> extern int pthread_sigqueue (pthread_t __threadid, int __signo,
> const union sigval __value) __THROW;
>
>
> It is apparently the case since the very first related patch:
> https://sourceware.org/pipermail/cygwin-patches/2012q1/007565.html
>
> RCS file: /cvs/src/src/winsup/cygwin/thread.cc,v
> ...
> +extern "C" int
> +pthread_sigqueue (pthread_t *thread, int sig, const union sigval value)
> +{
Thanks for the report. There's a couple things wrong that I can see
right off the bat. The first param should indeed be "pthread_t", and the
Cygwin code that implements the function should treat that first param
as a thread id. Currently it's treated as a 'pthread_t *' to match the
prototype.
I'll work on a patch for these issues.
..mark
More information about the Cygwin
mailing list