コード例 #1
0
ファイル: main.c プロジェクト: 20tab/blastbeat
static void bb_acceptors_fix() {

	struct bb_acceptor *acceptor = blastbeat.acceptors->next;
	while(acceptor) {
		if (!acceptor->shared) {
			struct bb_str_list *mapped_vhosts = acceptor->mapped_vhosts;
			while(mapped_vhosts) {
				struct bb_virtualhost *vh = bb_get_vhost(blastbeat.acceptors->vhosts, mapped_vhosts->name, mapped_vhosts->len);
				if (!bb_vhost_map_to_acceptor(acceptor, vh)) {
					fprintf(stderr,"unable to map virtualhost to acceptor\n");
					exit(1);
				}
				mapped_vhosts = mapped_vhosts->next;
				bb_remove_unshared_vhost(vh);
			}
		}
		acceptor = acceptor->next;
	}

	// now re-use the same (main) shared list for all of the shared acceptors
	acceptor = blastbeat.acceptors->next;
	while(acceptor) {
                if (acceptor->shared) {
			acceptor->vhosts = blastbeat.acceptors->vhosts;
		}
		acceptor = acceptor->next;
	}
}
コード例 #2
0
ファイル: main.c プロジェクト: mcspring/blastbeat
static void bb_acceptors_fix() {

	struct bb_acceptor *acceptor = blastbeat.acceptors->next;
	while(acceptor) {
		if (!acceptor->shared) {
			struct bb_virtualhost *vhost = acceptor->vhosts;
			while(vhost) {
				struct bb_virtualhost *v = vhost;
				vhost = vhost->next;
				bb_remove_unshared_vhost(v);
			}
		}
		acceptor = acceptor->next;
	}

	acceptor = blastbeat.acceptors->next;
	while(acceptor) {
                if (acceptor->shared) {
			acceptor->vhosts = blastbeat.acceptors->vhosts;
		}
		acceptor = acceptor->next;
	}
}