| 90 | } |
| 91 | |
| 92 | AP_DECLARE(int) ap_unregister_extra_mpm_process(pid_t pid, ap_generation_t *old_gen) |
| 93 | { |
| 94 | extra_process_t *cur = extras; |
| 95 | extra_process_t *prev = NULL; |
| 96 | |
| 97 | while (cur && cur->pid != pid) { |
| 98 | prev = cur; |
| 99 | cur = cur->next; |
| 100 | } |
| 101 | |
| 102 | if (cur) { |
| 103 | if (prev) { |
| 104 | prev->next = cur->next; |
| 105 | } |
| 106 | else { |
| 107 | extras = cur->next; |
| 108 | } |
| 109 | *old_gen = cur->gen; |
| 110 | free(cur); |
| 111 | return 1; /* found */ |
| 112 | } |
| 113 | else { |
| 114 | /* we don't know about any such process */ |
| 115 | return 0; |
| 116 | } |
| 117 | } |
| 118 | |
| 119 | static int reclaim_one_pid(pid_t pid, action_t action) |
| 120 | { |
no outgoing calls
no test coverage detected