aboutsummaryrefslogtreecommitdiff
path: root/src/socket.lua
diff options
context:
space:
mode:
authorDiego Nehab <diego@impa.br>2015-08-22 19:52:01 -0300
committerDiego Nehab <diego@impa.br>2015-08-22 19:52:01 -0300
commit96965b179c7311f850f72a8629b9ba6d3a31d117 (patch)
tree05c93629654f686a99ee8923ef2361b7d2244ca8 /src/socket.lua
parentb211838648c1cb092e96e3ae721932a212808d96 (diff)
downloadluasocket-96965b179c7311f850f72a8629b9ba6d3a31d117.tar.gz
luasocket-96965b179c7311f850f72a8629b9ba6d3a31d117.tar.bz2
luasocket-96965b179c7311f850f72a8629b9ba6d3a31d117.zip
New agnostic IPv4 IPv6 functions.
Also dealing with EPROTOTYPE Yosemite seems to be throwing at us for no reason.
Diffstat (limited to 'src/socket.lua')
-rw-r--r--src/socket.lua10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/socket.lua b/src/socket.lua
index 3913e6f..d1c0b16 100644
--- a/src/socket.lua
+++ b/src/socket.lua
@@ -32,23 +32,23 @@ function _M.bind(host, port, backlog)
32 err = "no info on address" 32 err = "no info on address"
33 for i, alt in base.ipairs(addrinfo) do 33 for i, alt in base.ipairs(addrinfo) do
34 if alt.family == "inet" then 34 if alt.family == "inet" then
35 sock, err = socket.tcp() 35 sock, err = socket.tcp4()
36 else 36 else
37 sock, err = socket.tcp6() 37 sock, err = socket.tcp6()
38 end 38 end
39 if not sock then return nil, err end 39 if not sock then return nil, err end
40 sock:setoption("reuseaddr", true) 40 sock:setoption("reuseaddr", true)
41 res, err = sock:bind(alt.addr, port) 41 res, err = sock:bind(alt.addr, port)
42 if not res then 42 if not res then
43 sock:close() 43 sock:close()
44 else 44 else
45 res, err = sock:listen(backlog) 45 res, err = sock:listen(backlog)
46 if not res then 46 if not res then
47 sock:close() 47 sock:close()
48 else 48 else
49 return sock 49 return sock
50 end 50 end
51 end 51 end
52 end 52 end
53 return nil, err 53 return nil, err
54end 54end