diff options
author | Diego Nehab <diego@tecgraf.puc-rio.br> | 2005-04-20 18:57:47 +0000 |
---|---|---|
committer | Diego Nehab <diego@tecgraf.puc-rio.br> | 2005-04-20 18:57:47 +0000 |
commit | 2a00a5ad50f2ac4ed19fa6a84c59f539076e8c2a (patch) | |
tree | 0f088bb442de1dbeba894e37da64de7f2dec166f /src/tcp.c | |
parent | 693a201db6052310206ec69fbc940c013267d866 (diff) | |
download | luasocket-2a00a5ad50f2ac4ed19fa6a84c59f539076e8c2a.tar.gz luasocket-2a00a5ad50f2ac4ed19fa6a84c59f539076e8c2a.tar.bz2 luasocket-2a00a5ad50f2ac4ed19fa6a84c59f539076e8c2a.zip |
Trying to get non-blocking connect to work.
Diffstat (limited to 'src/tcp.c')
-rw-r--r-- | src/tcp.c | 23 |
1 files changed, 1 insertions, 22 deletions
@@ -20,7 +20,6 @@ | |||
20 | \*=========================================================================*/ | 20 | \*=========================================================================*/ |
21 | static int global_create(lua_State *L); | 21 | static int global_create(lua_State *L); |
22 | static int meth_connect(lua_State *L); | 22 | static int meth_connect(lua_State *L); |
23 | static int meth_connected(lua_State *L); | ||
24 | static int meth_listen(lua_State *L); | 23 | static int meth_listen(lua_State *L); |
25 | static int meth_bind(lua_State *L); | 24 | static int meth_bind(lua_State *L); |
26 | static int meth_send(lua_State *L); | 25 | static int meth_send(lua_State *L); |
@@ -46,7 +45,6 @@ static luaL_reg tcp[] = { | |||
46 | {"bind", meth_bind}, | 45 | {"bind", meth_bind}, |
47 | {"close", meth_close}, | 46 | {"close", meth_close}, |
48 | {"connect", meth_connect}, | 47 | {"connect", meth_connect}, |
49 | {"connected", meth_connected}, | ||
50 | {"dirty", meth_dirty}, | 48 | {"dirty", meth_dirty}, |
51 | {"getfd", meth_getfd}, | 49 | {"getfd", meth_getfd}, |
52 | {"getpeername", meth_getpeername}, | 50 | {"getpeername", meth_getpeername}, |
@@ -226,25 +224,6 @@ static int meth_connect(lua_State *L) | |||
226 | return 1; | 224 | return 1; |
227 | } | 225 | } |
228 | 226 | ||
229 | static int meth_connected(lua_State *L) | ||
230 | { | ||
231 | p_tcp tcp = (p_tcp) aux_checkclass(L, "tcp{master}", 1); | ||
232 | int err; | ||
233 | t_tm tm; | ||
234 | tm_init(&tm, 0.1, -1); | ||
235 | tm_markstart(&tm); | ||
236 | err = sock_connected(&tcp->sock, &tm); | ||
237 | if (err != IO_DONE) { | ||
238 | lua_pushnil(L); | ||
239 | lua_pushstring(L, sock_strerror(err)); | ||
240 | return 2; | ||
241 | } | ||
242 | /* turn master object into a client object */ | ||
243 | aux_setclass(L, "tcp{client}", 1); | ||
244 | lua_pushnumber(L, 1); | ||
245 | return 1; | ||
246 | } | ||
247 | |||
248 | /*-------------------------------------------------------------------------*\ | 227 | /*-------------------------------------------------------------------------*\ |
249 | * Closes socket used by object | 228 | * Closes socket used by object |
250 | \*-------------------------------------------------------------------------*/ | 229 | \*-------------------------------------------------------------------------*/ |
@@ -308,7 +287,7 @@ error: | |||
308 | \*-------------------------------------------------------------------------*/ | 287 | \*-------------------------------------------------------------------------*/ |
309 | static int meth_getpeername(lua_State *L) | 288 | static int meth_getpeername(lua_State *L) |
310 | { | 289 | { |
311 | p_tcp tcp = (p_tcp) aux_checkclass(L, "tcp{client}", 1); | 290 | p_tcp tcp = (p_tcp) aux_checkgroup(L, "tcp{any}", 1); |
312 | return inet_meth_getpeername(L, &tcp->sock); | 291 | return inet_meth_getpeername(L, &tcp->sock); |
313 | } | 292 | } |
314 | 293 | ||