httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Eissing <stefan.eiss...@greenbytes.de>
Subject Re: segfault analysis
Date Fri, 23 Oct 2015 10:04:56 GMT
Nice analysis, btw. I think you found the problem. I'll replace the timed wait by a simple
wait...

> Am 23.10.2015 um 11:22 schrieb Yann Ylavic <ylavic.dev@gmail.com>:
> 
> On Fri, Oct 23, 2015 at 11:18 AM, Yann Ylavic <ylavic.dev@gmail.com> wrote:
>> 
>> Index: modules/http2/h2_mplx.c
>> ===================================================================
>> --- modules/http2/h2_mplx.c    (revision 1710105)
>> +++ modules/http2/h2_mplx.c    (working copy)
>> @@ -143,12 +143,18 @@ static void reference(h2_mplx *m)
>>     apr_atomic_inc32(&m->refs);
>> }
>> 
>> -static void release(h2_mplx *m)
>> +static void release(h2_mplx *m, int lock)
>> {
>>     if (!apr_atomic_dec32(&m->refs)) {
>> +        if (lock) {
>> +            apr_thread_mutex_lock(m->lock);
>> +        }
>>         if (m->join_wait) {
>>             apr_thread_cond_signal(m->join_wait);
>>         }
>> +        if (lock) {
>> +            apr_thread_mutex_lock(m->unlock);
> 
> We'd rather unlock here :)
> 
>> +        }
>>     }
>> }


Mime
View raw message