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; } }
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; } }