Hi, Igor Pechtchanski, le Fri 02 Dec 2005 20:16:58 -0500, a écrit : > On Sat, 3 Dec 2005, Samuel Thibault wrote: > > > [snip] > > So SI_USER should rather be defined to 0. > > Mmm, btw, SIGALRM sets 0 in si_code, while it should set SI_KERNEL. > > A clear case of <http://cygwin.com/acronyms/#PTC>...
The following patch works. pthread_kill()'s issue seems trickier. Regards, Samuel Index: cygwin/timer.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/timer.cc,v retrieving revision 1.19 diff -u -r1.19 timer.cc --- cygwin/timer.cc 11 Nov 2005 16:42:15 -0000 1.19 +++ cygwin/timer.cc 3 Dec 2005 02:38:47 -0000 @@ -167,6 +167,7 @@ siginfo_t si; memset (&si, 0, sizeof (si)); si.si_signo = tt->evp.sigev_signo; + si.si_code = SI_KERNEL; si.si_sigval.sival_ptr = tt->evp.sigev_value.sival_ptr; debug_printf ("%p sending sig %d", x, tt->evp.sigev_signo); sig_send (myself_nowait, si); Index: cygwin/include/cygwin/signal.h =================================================================== RCS file: /cvs/src/src/winsup/cygwin/include/cygwin/signal.h,v retrieving revision 1.8 diff -u -r1.8 signal.h --- cygwin/include/cygwin/signal.h 10 Nov 2005 09:12:22 -0000 1.8 +++ cygwin/include/cygwin/signal.h 3 Dec 2005 02:38:48 -0000 @@ -102,7 +102,7 @@ enum { - SI_USER = 1, /* sent by kill, raise, pthread_kill */ + SI_USER = 0, /* sent by kill, raise, pthread_kill */ SI_ASYNCIO, /* sent by AIO completion (currently unimplemented) */ SI_MESGQ, /* sent by real time mesq state change -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/