diff options
author | Diego Nehab <diego@impa.br> | 2015-08-22 19:52:01 -0300 |
---|---|---|
committer | Diego Nehab <diego@impa.br> | 2015-08-22 19:52:01 -0300 |
commit | 96965b179c7311f850f72a8629b9ba6d3a31d117 (patch) | |
tree | 05c93629654f686a99ee8923ef2361b7d2244ca8 /src/socket.lua | |
parent | b211838648c1cb092e96e3ae721932a212808d96 (diff) | |
download | luasocket-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.lua | 10 |
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 |
54 | end | 54 | end |