]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
event, worker: initialize the objects used by signal_threads() first.
authorYann Ylavic <ylavic@apache.org>
Fri, 3 Aug 2018 09:53:42 +0000 (09:53 +0000)
committerYann Ylavic <ylavic@apache.org>
Fri, 3 Aug 2018 09:53:42 +0000 (09:53 +0000)
commit8cea5079860a4b1485fa75220d80f5738cd2b54e
tree793a76b6302d46ecd806366b727c068eb6a2320c
parent43fe7164f6a577fb8b15c2caaaa1bb38443e1ab3
event, worker: initialize the objects used by signal_threads() first.

Follow up to r1835845.

If a signal is received early when the MPM children start, signal_threads() may
be called concurrently with start_streads() thus before the latter (or its
underlying threads like the listener_thread) had a chance to create and init
the queues, mutexes, pollset and sockets array used by the former.

So move those initializations to a new setup_threads_runtime() function called
before start_threads(), where the pruntime pool is also created.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1837354 13f79535-47bb-0310-9956-ffa450edef68
server/mpm/event/event.c
server/mpm/worker/worker.c