[vlc-devel] [PATCH] timer: add a few explicit cancellation	points
    Francois Cartegnie 
    fcvlcdev at free.fr
       
    Tue Aug 19 03:41:57 CEST 2014
    
    
  
Le 19/08/2014 06:48, Sean McGovern a écrit :
>      for (;;)
>      {
> -        while (timer->value == 0)
> +        vlc_testcancel();
> +        while (timer->value == 0) {
>              vlc_cond_wait (&timer->reschedule, &timer->lock);
> +            vlc_testcancel();
cond wait is already cancellation point.
> +        }
>  
>          if (vlc_cond_timedwait (&timer->reschedule, &timer->lock,
> -                                timer->value) == 0)
> +                                timer->value) == 0) {
> +            vlc_testcancel();
>              continue;
continue, then we have 3 cancellation points in a row.
>      vlc_cancel (timer->thread);
> +    vlc_cond_broadcast(&timer->reschedule);
I don't see why that thread would not exit on cancellation.
If cancellation points are broken on condwait then that behaviour should
appear somewhere else as well.
Francois
    
    
More information about the vlc-devel
mailing list