Thanks. Then something else went wrong. Need to have look when I find time.
Regards Rüdiger > -----Ursprüngliche Nachricht----- > Von: Jim Jagielski [mailto:[email protected]] > Gesendet: Freitag, 29. August 2014 16:44 > An: [email protected] > Betreff: Re: svn commit: r1545286 - in > /httpd/httpd/trunk/server/mpm/event: event.c fdqueue.c > > This operation is checked in event... see the diffs for event.c > in that commit. > > On Aug 29, 2014, at 10:28 AM, Ruediger Pluem <[email protected]> wrote: > > > > > > > [email protected] wrote: > >> Author: jim > >> Date: Mon Nov 25 13:59:06 2013 > >> New Revision: 1545286 > >> > >> URL: http://svn.apache.org/r1545286 > >> Log: > >> Use a normalized offset point for idlers... still need to worry > >> that atomics work as "expected", in this case that a add32 of a -1 > >> is the "same" as dec32 (as far as effect on idlers) > >> > >> Modified: > >> httpd/httpd/trunk/server/mpm/event/event.c > >> httpd/httpd/trunk/server/mpm/event/fdqueue.c > >> > > > >> Modified: httpd/httpd/trunk/server/mpm/event/fdqueue.c > >> URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/event/fdqueue > .c?rev=1545286&r1=1545285&r2=1545286&view=diff > >> > ======================================================================= > ======= > >> --- httpd/httpd/trunk/server/mpm/event/fdqueue.c (original) > >> +++ httpd/httpd/trunk/server/mpm/event/fdqueue.c Mon Nov 25 13:59:06 > 2013 > > > >> @@ -131,7 +128,7 @@ apr_status_t ap_queue_info_set_idle(fd_q > >> apr_status_t ap_queue_info_try_get_idler(fd_queue_info_t * > queue_info) > >> { > >> int prev_idlers; > >> - prev_idlers = apr_atomic_dec32((apr_uint32_t *)&(queue_info- > >idlers)); > >> + prev_idlers = apr_atomic_add32((apr_uint32_t *)&(queue_info- > >idlers), -1) - zero_pt; > > > > Is this correct? apr_atomic_add32 expects an uint as 2nd argument. I > just experienced a situation where all workers are > > idle, but queue_info->idlers < zero_pt. > > > > Regards > > > > Rüdiger > >
