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 |
