diff options
author | jluehrs2 <jluehrs2@uiuc.edu> | 2007-09-04 18:20:01 -0500 |
---|---|---|
committer | jluehrs2 <jluehrs2@uiuc.edu> | 2007-09-04 18:20:01 -0500 |
commit | b37239c2f9b627457b6a2147faa0821b20380e96 (patch) | |
tree | f3752fbd32c60063adefc19c96f58dbf3ff6ec3c | |
parent | 34b1f0bfd0acb2dd82238f2395121d32912ca444 (diff) | |
download | luairc-b37239c2f9b627457b6a2147faa0821b20380e96.tar.gz luairc-b37239c2f9b627457b6a2147faa0821b20380e96.zip |
sock:bind() failure invalidates the socket's file descriptor
-rw-r--r-- | src/irc/dcc.lua | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/irc/dcc.lua b/src/irc/dcc.lua index 5b9f8a1..5567695 100644 --- a/src/irc/dcc.lua +++ b/src/irc/dcc.lua @@ -151,8 +151,9 @@ end -- above) function send(nick, filename, port) port = port or FIRST_PORT - local sock = base.assert(socket.tcp()) + local sock repeat + sock = base.assert(socket.tcp()) err, msg = sock:bind('*', port) port = port + 1 until msg ~= "address already in use" and port <= LAST_PORT + 1 |