harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gshiman...@apache.org
Subject svn commit: r475923 - /incubator/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/linux/hysignal.c
Date Thu, 16 Nov 2006 20:51:00 GMT
Author: gshimansky
Date: Thu Nov 16 12:51:00 2006
New Revision: 475923

URL: http://svn.apache.org/viewvc?view=rev&rev=475923
Log:
Applied HARMONY-2203 Asynchronous signal reporter is interrupted by an external signal while
is waiting on a semaphore.

Tested this patch on a lot of platforms: Gentoo, FC5, Ubuntu5, SuSE10 x86_64 and even winXP
which should not be affected. All drlvm tests passed except for SuSE10 x86_64 which isn't
stable yet.


Modified:
    incubator/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/linux/hysignal.c

Modified: incubator/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/linux/hysignal.c
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/linux/hysignal.c?view=diff&rev=475923&r1=475922&r2=475923
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/linux/hysignal.c
(original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/linux/hysignal.c
Thu Nov 16 12:51:00 2006
@@ -25,6 +25,7 @@
 #include <string.h>
 #include <stdlib.h>
 #include <assert.h>
+#include <errno.h>
 
 #include <jsig.h>
 
@@ -918,7 +919,8 @@
   /* Need an exit condition... */
   for (;;)
     {
-      sem_wait (&wakeUpASynchReporter);
+      while (sem_wait(&wakeUpASynchReporter) == -1 && errno == EINTR)
+        ;
 
       /* we get woken up if there is a signal pending or it is time to shutdown */
       if (shutDownASynchReporter)



Mime
View raw message