Looking at this function in worker.c: ---------------- static void close_worker_sockets(void) { int i; for (i = 0; i < ap_threads_per_child; i++) { if (worker_sockets[i]) { apr_socket_close(worker_sockets[i]); worker_sockets[i] = NULL; } } } ----------------
Isn't there are possible race condition there, given that worker threads can also change worker_sockets[i] at the same time? Or are we suspending worker threads before this gets called? -- Bojan