* modules/access/*: grrr... apparently I also need to reset the file descriptor set...
authorGildas Bazin <gbazin@videolan.org>
Mon, 24 Mar 2003 20:00:51 +0000 (20:00 +0000)
committerGildas Bazin <gbazin@videolan.org>
Mon, 24 Mar 2003 20:00:51 +0000 (20:00 +0000)
modules/access/ftp.c
modules/access/http.c
modules/access/mms/mms.c
modules/access/udp.c

index 937243c..22e79f9 100644 (file)
@@ -2,7 +2,7 @@
  * ftp.c:
  *****************************************************************************
  * Copyright (C) 2001, 2002 VideoLAN
- * $Id: ftp.c,v 1.11 2003/03/24 19:12:16 gbazin Exp $
+ * $Id: ftp.c,v 1.12 2003/03/24 20:00:51 gbazin Exp $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *
@@ -832,6 +832,8 @@ static ssize_t NetRead( input_thread_t *p_input,
                             NULL, NULL, &timeout )) == 0
            || (i_ret < 0 && errno == EINTR) )
     {
+        FD_ZERO( &fds );
+        FD_SET( p_socket->i_handle, &fds );
         timeout.tv_sec  = 1;
         timeout.tv_usec = 0;
 
index 474f2f5..bfab1d4 100644 (file)
@@ -2,7 +2,7 @@
  * http.c: HTTP access plug-in
  *****************************************************************************
  * Copyright (C) 2001, 2002 VideoLAN
- * $Id: http.c,v 1.29 2003/03/24 19:12:16 gbazin Exp $
+ * $Id: http.c,v 1.30 2003/03/24 20:00:51 gbazin Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -718,6 +718,8 @@ static ssize_t Read( input_thread_t * p_input, byte_t * p_buffer, size_t i_len )
 #endif
            )
     {
+        FD_ZERO( &fds );
+        FD_SET( p_access_data->i_handle, &fds );
         timeout.tv_sec = 0;
         timeout.tv_usec = 500000;
 
index 6f2b359..002d20d 100644 (file)
@@ -2,7 +2,7 @@
  * mms.c: MMS access plug-in
  *****************************************************************************
  * Copyright (C) 2001, 2002 VideoLAN
- * $Id: mms.c,v 1.29 2003/03/24 19:12:16 gbazin Exp $
+ * $Id: mms.c,v 1.30 2003/03/24 20:00:51 gbazin Exp $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *
@@ -1473,6 +1473,9 @@ static int  NetFillBuffer( input_thread_t *p_input )
                             NULL, NULL, &timeout )) == 0
            || (i_ret < 0 && errno == EINTR) )
     {
+        FD_ZERO( &fds );
+        if( i_tcp > 0 ) FD_SET( p_access->socket_tcp.i_handle, &fds );
+        if( i_udp > 0 ) FD_SET( p_access->socket_udp.i_handle, &fds );
         timeout.tv_sec = 0;
         timeout.tv_usec = 500000;
 
index ac0e206..f40804b 100644 (file)
@@ -2,7 +2,7 @@
  * udp.c: raw UDP & RTP access plug-in
  *****************************************************************************
  * Copyright (C) 2001, 2002 VideoLAN
- * $Id: udp.c,v 1.17 2003/03/24 19:12:16 gbazin Exp $
+ * $Id: udp.c,v 1.18 2003/03/24 20:00:51 gbazin Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *          Tristan Leteurtre <tooney@via.ecp.fr>
@@ -339,6 +339,8 @@ static ssize_t Read( input_thread_t * p_input, byte_t * p_buffer, size_t i_len )
                             NULL, NULL, &timeout )) == 0
            || (i_ret < 0 && errno == EINTR) )
     {
+        FD_ZERO( &fds );
+        FD_SET( p_access_data->i_handle, &fds );
         timeout.tv_sec = 0;
         timeout.tv_usec = 500000;