[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