net/server_*: Fix addclient: LuaSocket 3.0-rc1 sometimes returns EALREADY instead...
authordaurnimator <quae@daurnimator.com>
Wed, 25 Jun 2014 16:15:00 +0000 (12:15 -0400)
committerdaurnimator <quae@daurnimator.com>
Wed, 25 Jun 2014 16:15:00 +0000 (12:15 -0400)
net/server_event.lua
net/server_select.lua

index a3087847ee094e32931e8dde7e9cc0c8976531c3..b79fc463dfae7fc58b1d11d0677a2aac549e4a6f 100644 (file)
@@ -761,7 +761,7 @@ do
                end
                client:settimeout( 0 )  -- set nonblocking
                local res, err = client:connect( addr, serverport )  -- connect
-               if res or ( err == "timeout" ) then
+               if res or ( err == "timeout" or err == "Operation already in progress" ) then
                        if client.getsockname then
                                addr = client:getsockname( )
                        end
index 4a36617cf2f34bfaea531621b3a4f0dcfed8f339..0aaea4beb3a3c0c5a1c4a007b4cf91b33c59c679 100644 (file)
@@ -966,7 +966,7 @@ local addclient = function( address, port, listeners, pattern, sslctx, typ )
        end
        client:settimeout( 0 )
        local ok, err = client:connect( address, port )
-       if ok or err == "timeout" then
+       if ok or err == "timeout" or err == "Operation already in progress" then
                return wrapclient( client, address, port, listeners, pattern, sslctx )
        else
                return nil, err