X-Spam-Check-By: sourceware.org X-T2-Posting-ID: dCnToGxhL58ot4EWY8b+QGwMembwLoz1X2yB7MdtIiA= X-Cloudmark-Score: 0.000000 [] Date: Sat, 3 Dec 2005 03:37:32 +0100 From: Samuel Thibault To: cygwin AT cygwin DOT com Subject: Re: SA_SIGINFO and signal info ? Message-ID: <20051203023731.GU10913@bouh.residence.ens-lyon.fr> Mail-Followup-To: cygwin AT cygwin DOT com References: <20051202230909 DOT GM10913 AT bouh DOT residence DOT ens-lyon DOT fr> <20051203001911 DOT GQ10913 AT bouh DOT residence DOT ens-lyon DOT fr> <20051203003415 DOT GR10913 AT bouh DOT residence DOT ens-lyon DOT fr> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.9i-nntp X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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 ... 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/