aboutsummaryrefslogtreecommitdiff
path: root/src/tcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tcp.c')
-rw-r--r--src/tcp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/tcp.c b/src/tcp.c
index 34dd71c..ce2ae17 100644
--- a/src/tcp.c
+++ b/src/tcp.c
@@ -230,15 +230,15 @@ static int meth_bind(lua_State *L)
230 p_tcp tcp = (p_tcp) aux_checkclass(L, "tcp{master}", 1); 230 p_tcp tcp = (p_tcp) aux_checkclass(L, "tcp{master}", 1);
231 const char *address = luaL_checkstring(L, 2); 231 const char *address = luaL_checkstring(L, 2);
232 unsigned short port = (unsigned short) luaL_checknumber(L, 3); 232 unsigned short port = (unsigned short) luaL_checknumber(L, 3);
233 int backlog = (int) luaL_optnumber(L, 4, 0); 233 int backlog = (int) luaL_optnumber(L, 4, 1);
234 const char *err = inet_trybind(&tcp->sock, address, port, backlog); 234 const char *err = inet_trybind(&tcp->sock, address, port, backlog);
235 if (err) { 235 if (err) {
236 lua_pushnil(L); 236 lua_pushnil(L);
237 lua_pushstring(L, err); 237 lua_pushstring(L, err);
238 return 2; 238 return 2;
239 } 239 }
240 /* turn master object into a server object */ 240 /* turn master object into a server object if there was a listen */
241 aux_setclass(L, "tcp{server}", 1); 241 if (backlog > 0) aux_setclass(L, "tcp{server}", 1);
242 lua_pushnumber(L, 1); 242 lua_pushnumber(L, 1);
243 return 1; 243 return 1;
244} 244}