MCPcopy Create free account
hub / github.com/apache/httpd / ap_mpm_pod_killpg

Function ap_mpm_pod_killpg

server/mpm_unix.c:743–769  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

741}
742
743void ap_mpm_pod_killpg(ap_pod_t *pod, int num)
744{
745 int i;
746 apr_status_t rv = APR_SUCCESS;
747
748 /* we don't write anything to the pod here... we assume
749 * that the would-be reader of the pod has another way to
750 * see that it is time to die once we wake it up
751 *
752 * writing lots of things to the pod at once is very
753 * problematic... we can fill the kernel pipe buffer and
754 * be blocked until somebody consumes some bytes or
755 * we hit a timeout... if we hit a timeout we can't just
756 * keep trying because maybe we'll never successfully
757 * write again... but then maybe we'll leave would-be
758 * readers stranded (a number of them could be tied up for
759 * a while serving time-consuming requests)
760 */
761 /* Recall: we only worry about IDLE child processes here */
762 for (i = 0; i < num && rv == APR_SUCCESS; i++) {
763 if (ap_scoreboard_image->servers[i][0].status != SERVER_READY ||
764 ap_scoreboard_image->servers[i][0].pid == 0) {
765 continue;
766 }
767 rv = dummy_connection(pod);
768 }
769}
770
771static const char *dash_k_arg = NULL;
772static const char *dash_k_arg_noarg = "noarg";

Callers 1

prefork_runFunction · 0.85

Calls 1

dummy_connectionFunction · 0.85

Tested by

no test coverage detected