followup on my last email:

T> I think we should free the oldmost tcptw entry in a case if we can't
T> find the local endpoint. We can tell definitely that we can't find one
T> only in in_pcbbind_setup() in the "do {} while (in_pcblookup_local)" cycle,
T> where EADDRNOTAVAIL is returned. We can't definitely tell this in
T> in_pcblookup_local() since we don't know whether tried port is the
T> last one.

Another simple enough solution would be to msleep() with tcbinfo mutex
temporarily dropped if we fail to find a port. Then the tcp_timer_2msl_tw()
on the next run will free tcptw entries and wake up us.

Anyway, I'm strongly against doing the purge cycling in the syscalls.

-- 
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to