void fpm_scoreboard_proc_free(struct fpm_child_s *child) /* {{{ */
{
	struct fpm_worker_pool_s *wp = child->wp;
	struct fpm_scoreboard_s *scoreboard = wp->scoreboard;
	int child_index = child->scoreboard_i;

	if (!scoreboard) {
		return;
	}

	if (child_index < 0 || child_index >= wp->config->pm_max_children) {
		return;
	}

	if (scoreboard->procs[child_index].used > 0) {
		memset(&scoreboard->procs[child_index], 0, sizeof(struct fpm_scoreboard_proc_s));
	}

	/* set this slot as free to avoid search on next alloc */
	scoreboard->free_proc = child_index;
}
void fpm_scoreboard_proc_free(struct fpm_child_s *child)  
{
	struct fpm_worker_pool_s *wp = child->wp;
	struct fpm_scoreboard_s *scoreboard = wp->scoreboard;
	int child_index = child->scoreboard_i;

	if (!scoreboard) {
		return;
	}

	if (child_index < 0 || child_index >= wp->config->pm_max_children) {
		return;
	}

	if (scoreboard->procs[child_index].used > 0) {
		memset(&scoreboard->procs[child_index], 0, sizeof(struct fpm_scoreboard_proc_s));
	}

	 
	scoreboard->free_proc = child_index;
}