#12781: merge with 3.2

This commit is contained in:
Sandro Tosi 2011-09-02 20:07:34 +02:00
commit 0b6b1c3fb5
1 changed files with 19 additions and 0 deletions

View File

@ -1239,6 +1239,25 @@ the interface::
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)
Running an example several times with too small delay between executions, could
lead to this error::
socket.error: [Errno 98] Address already in use
This is because the previous execution has left the socket in a ``TIME_WAIT``
state, and can't be immediately reused.
There is a :mod:`socket` flag to set, in order to prevent this,
:data:`socket.SO_REUSEADDR`::
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((HOST, PORT))
the :data:`SO_REUSEADDR` flag tells the kernel to reuse a local socket in
``TIME_WAIT`` state, without waiting for its natural timeout to expire.
.. seealso::
For an introduction to socket programming (in C), see the following papers: