bind() should not return -EADDRINUSE
From: Phillip Susi <hidden>
Date: 2014-12-11 19:19:15
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Attempting to establish a connection to a remote host using the same local port, but a different remote port as the previous connection ( that is still in TIME_WAIT ) results in bind() returning -EADDRINUSE. By changing the remote port, you avoid the conflict with the other connection that is in TIME_WAIT, but since the remote port is not known when bind() is called, it incorrectly returns -EADDRINUSE. This check should not be done in bind(), but deferred until the remote port is known in the call to connect(), or listen(). -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (MingW32) iQEcBAEBAgAGBQJUie4vAAoJENRVrw2cjl5R8CgH/jgdrBXs1Yso7XsHtrsUgO75 P8bY3Mf8eOuAkLvwbHopyGr19UZJJ+5zCQWc6bus9BRa7jSQvPCRw8fSjg3u+NXs r9/qEqiDrYwAJqV5SwqDPGU8xGwq8v31bbT09spGIL9fABW3krBFtDHcZ/PzGA/p UGDgELdkU7QIMKvC7FAV5RzvMXpmAI+m7iQiF936QkGZPN0AOCTea0sB+IpeidTO /ChLd2iaEqAmS6UGh3jIQSNcTB3Ho3imHHMjTCel2v8+SgCBb2Tp3HzfmmIsGAnh YeH+ZCNHD08c+k9yprEVjCH6fwMOo7CWzyPnSme+Ggk0L5r9oj8iz4xIeIMv43o= =Ou3S -----END PGP SIGNATURE-----