apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <wr...@rowe-clan.net>
Subject Re: Strange continous SEVERE error after upgrading to APR 1.3, Critical poller failure, Timer expired
Date Thu, 26 Jun 2008 01:08:27 GMT
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

Mime
View raw message