[vlc-devel] [PATCH] too long timeouts in win32 vlc_poll

Mario Speiß 1034-135 at online.de
Sun Feb 3 14:18:54 CET 2013


On 03.02.2013 13:09, Rafaël Carré wrote:
> Le 03/02/2013 12:01, Mario Speiß a écrit :
>> When vlc_poll is called with timeout of i.e. 5000ms it may happen that the
>> waiting time might be as long as 2500s ! Probably poll should be called with
>> the 50ms timeout as many times until the original provided timeout has been
>> reached.
>>
>> Regards,
>> Mario
>> ---
>>   include/vlc_threads.h |    2 +-
>>   1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/include/vlc_threads.h b/include/vlc_threads.h
>> index 7c6a4ca..337ded4 100644
>> --- a/include/vlc_threads.h
>> +++ b/include/vlc_threads.h
>> @@ -392,7 +392,7 @@ static inline int vlc_poll (struct pollfd *fds, unsigned nfds, int timeout)
>>
>>       while (timeout>  50)
>>       {
>> -        int val = poll (fds, nfds, timeout);
>> +        int val = poll (fds, nfds, 50);
>>           if (val != 0)
>>               return val;
>>           timeout -= 50;
>>
>
> I think the problem is that if timeout is very long, the thread can not
> be cancelled before that full timeout has been spent in poll()

I experienced that issue when trying to connect to a non existing mms 
stream from tcp.c with a timeout of 5000 (ms). With the original code 
poll would be called 5000:50=100 times with timeouts of 5s, 4.95s, 4.9s 
and so on.
That really seems wrong to me. With this patch the timeout occurs after 
5 seconds.

Regards,
Mario
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel




More information about the vlc-devel mailing list