]> git.sesse.net Git - vlc/blobdiff - modules/misc/lua/libs/net.c
Remove timeout parameter from lua listner:accept().
[vlc] / modules / misc / lua / libs / net.c
index 17d8912dfa974bc005d8c10cff048b185ae0282c..f577211e988be32810b592bf63558c697f215321 100644 (file)
@@ -139,35 +139,7 @@ static int vlclua_net_accept( lua_State *L )
 {
     vlc_object_t *p_this = vlclua_get_this( L );
     int **ppi_fd = (int**)luaL_checkudata( L, 1, "net_listen" );
-    int *pi_fd = *ppi_fd;
-    int i_timeout = luaL_optint( L, 2, -1 ); /* block is default */
-
-    /* Implement net_Accept with timeout */
-    int i_fd = -1;
-
-    unsigned int i_count = 1;
-    while( pi_fd[i_count] != -1 )
-        i_count++;
-
-    struct pollfd ufd[i_count+1];
-    unsigned int i;
-    for( i = 0; i < i_count; i++ )
-    {
-        ufd[i].fd = pi_fd[i];
-        ufd[i].events = POLLIN;
-    }
-
-    if( poll( ufd, i_count, i_timeout ) > 0 )
-    {
-        for( i = 0; i < i_count; i++ )
-        {
-            if( !ufd[i].revents ) continue;
-            i_fd = net_AcceptSingle( p_this, ufd[i].fd );
-            if( i_fd == -1 ) continue;
-            memmove( pi_fd + i, pi_fd + i + 1, i_count - (i + 1) );
-            pi_fd[i_count - 1] = ufd[i].fd;
-        }
-    }
+    int i_fd = net_Accept( p_this, *ppi_fd );
 
     lua_pushinteger( L, i_fd );
     return 1;