Am 04.04.2011 16:56, schrieb Roger Dingledine:
Actually, we only use SO_REUSEADDR when binding listening sockets. The errors you're seeing are likely because you can't open a new socket for an outbound connection. And we don't use SO_REUSEADDR when creating outbound sockets: see connection_connect().
We also don't set SO_REUSEADDR on the new socket we make after receiving connections on a listening socket: see connection_handle_listener_read().
I don't know what behavior to expect, but I would not be surprised to learn that we should set it in both of these cases too. Worth experimenting.
Certainly I'm willing to take part in this experiment. It might be a good idea if a more experienced programmer than I am does the coding.
regards Olaf