On Tue, Mar 12, 2024 at 3:30 PM Eric Covener <cove...@gmail.com> wrote:
>
> On Tue, Mar 12, 2024 at 10:19 AM Yann Ylavic <ylavic....@gmail.com> wrote:
> >
> > On Tue, Mar 12, 2024 at 3:03 PM Eric Covener <cove...@gmail.com> wrote:
> > >
> > > On Tue, Mar 12, 2024 at 8:48 AM Yann Ylavic <ylavic....@gmail.com> wrote:
> > > >
> > > > Maybe it could be:
> > > >     if (threads_created) {
> > >
> > > not listener_started?
> > >
> > > threads_started>0  could just mean we had no scoreboard issues but
> > > pthread_create failed on anything but the first thread.
> >
> > Don't we want the workers to gracefully stop whenever at least one was
> > created, or we may deadlock in clean_child_exit()?
>
> Yes, I see what you mean now.  I will try to force some pthread_create
> errors w/ the patch soon.

Possibly we want this bit too:
             rv = ap_thread_create(&threads[i], thread_attr,
                                   worker_thread, my_info, pruntime);
             if (rv != APR_SUCCESS) {
+                ap_update_child_status_from_indexes(my_child_num, i,
+                                                    SERVER_DEAD, NULL);

to restore SERVER_DEAD for the thread we could not create..

Reply via email to