aboutsummaryrefslogtreecommitdiff
path: root/src/tcp.c
diff options
context:
space:
mode:
authorDiego Nehab <diego@tecgraf.puc-rio.br>2005-04-20 18:57:47 +0000
committerDiego Nehab <diego@tecgraf.puc-rio.br>2005-04-20 18:57:47 +0000
commit2a00a5ad50f2ac4ed19fa6a84c59f539076e8c2a (patch)
tree0f088bb442de1dbeba894e37da64de7f2dec166f /src/tcp.c
parent693a201db6052310206ec69fbc940c013267d866 (diff)
downloadluasocket-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.c23
1 files changed, 1 insertions, 22 deletions
diff --git a/src/tcp.c b/src/tcp.c
index 3aa1538..e4b1375 100644
--- a/src/tcp.c
+++ b/src/tcp.c
@@ -20,7 +20,6 @@
20\*=========================================================================*/ 20\*=========================================================================*/
21static int global_create(lua_State *L); 21static int global_create(lua_State *L);
22static int meth_connect(lua_State *L); 22static int meth_connect(lua_State *L);
23static int meth_connected(lua_State *L);
24static int meth_listen(lua_State *L); 23static int meth_listen(lua_State *L);
25static int meth_bind(lua_State *L); 24static int meth_bind(lua_State *L);
26static int meth_send(lua_State *L); 25static 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
229static 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\*-------------------------------------------------------------------------*/
309static int meth_getpeername(lua_State *L) 288static 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