]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Fixup.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Fri, 11 Apr 2008 16:05:55 +0000 (16:05 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Fri, 11 Apr 2008 16:05:55 +0000 (16:05 +0000)
git-svn-id: file:///svn/unbound/trunk@1032 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
services/outside_network.c

index 45bbbcce93a38c2e67ce0b0170267de5ddc3a676..6b75bc7748a8bb5bd877028c54dc6c250f41e318 100644 (file)
@@ -3,6 +3,7 @@
        - fixup threadsafety for libevent-1.4.3+ (event_base_get_method).
        - removed base_port.
        - created 256-port ephemeral space for the OS, 59802 available.
+       - fixup consistency of port_if out array during heavy use.
 
 10 April 2008: Wouter
        - --with-libevent works with latest libevent 1.4.99-trunk.
index 586400e1c123658ec05c71c7886e5433fc7c11fd..3ab3cb1580ebbafa9068004869e1af3c77240754 100644 (file)
@@ -241,12 +241,14 @@ portcomm_loweruse(struct outside_network* outnet, struct port_comm* pc)
                return;
        }
        /* close it and replace in unused list */
+       verbose(VERB_ALGO, "close of port %d", pc->number);
        comm_point_close(pc->cp);
        pif = pc->pif;
        log_assert(pif->inuse > 0);
        pif->avail_ports[pif->avail_total - pif->inuse] = pc->number;
        pif->inuse--;
        pif->out[pc->index] = pif->out[pif->inuse];
+       pif->out[pc->index]->index = pc->index;
        pc->next = outnet->unused_fds;
        outnet->unused_fds = pc;
 }