Fix socket_accept usage to depend on family.

This commit is contained in:
Diego Nehab 2012-12-11 16:35:27 -02:00
parent 66670c3541
commit 618ce43ee3
8 changed files with 22 additions and 13 deletions

View file

@ -263,7 +263,6 @@ int inet_meth_getpeername(lua_State *L, p_socket ps, int family)
lua_pushliteral(L, "inet6");
return 3;
}
return 2;
}
default:
lua_pushnil(L);
@ -423,6 +422,21 @@ const char *inet_tryconnect(p_socket ps, const char *address,
return err;
}
/*-------------------------------------------------------------------------*\
* Tries to accept a socket
\*-------------------------------------------------------------------------*/
const char *inet_tryaccept(p_socket server, int family, p_socket client, p_timeout tm)
{
socklen_t len;
t_sockaddr_storage addr;
if (family == PF_INET6) {
len = sizeof(struct sockaddr_in6);
} else {
len = sizeof(struct sockaddr_in);
}
return socket_strerror(socket_accept(server, client, (SA *) &addr, &len, tm));
}
/*-------------------------------------------------------------------------*\
* Tries to bind socket to (address, port)
\*-------------------------------------------------------------------------*/