Ruediger Pluem wrote:

On 06/25/2008 02:55 PM, Nick Kew wrote:

OK, I've just tested APR variants with Event MPM.

It is indeed that fix that breaks it.  When I revert
the fix, the problem goes away.

The original patch posted to fix the same bug works fine.
Can I suggest you apply the following patch to 1.3.x
(should work on 1.3.0 or 1.3.2 too) and let us know if
it fixes the problem you're seeing?

Index: poll/unix/port.c
===================================================================
--- poll/unix/port.c    (revision 662044)
+++ poll/unix/port.c    (working copy)
@@ -315,7 +315,15 @@

     if (ret == -1) {
         (*num) = 0;
-        rv = apr_get_netos_error();
+        if (errno == EINTR) {
+            rv = APR_EINTR;
+        }
+        else if (errno == ETIME) {
+            rv = APR_TIMEUP;
+        }
+        else {
+            rv = APR_EGENERAL;
+        }
     }
     else if (nget == 0) {
         rv = APR_TIMEUP;



Looks good and makes sense.
apr_get_netos_error() in case of ETIME = 720062
APR_TIMEUP = 70007

So they are different.

But I would do

rv = apr_get_netos_error();

instead

of

rv = APR_EGENERAL;


Good observations.  Folks, you want to fix these regressions before
we T&R 1.3.3?

Bill

Reply via email to