From: Maxime Coquelin
> Hi Matan,
> 
> On 1/14/21 12:49 PM, Matan Azrad wrote:
> > Hi Maxime and David
> >
> > Thank you for Review.
> >
> > From: David Marchand
> >> On Fri, Jan 8, 2021 at 9:48 AM David Marchand
> >> <david.march...@redhat.com> wrote:
> >>>> I wonder if it would be possible and cleaner to disable
> >>>> cancellation on the thread while the mutex is held?
> >
> > Yes, we can cause thread to return by some global variable sync.
> > It is the same logic.
> 
> No, that was not my suggestion. My suggestion is to block the thread
> cancellation while in the critical section, using pthread_setcancelstate().

Yes, Generally it is better to let the thread control his cancellation, either 
cancel itself or enabling\disabling cancellations. 

I don't see a reason to wait for the thread in current logic - the critical 
section is not important to be completed here.

We just want to close the thread and to clean the mutex. 
 
> >>> +1
> >>
> >> IEEE Std 1003.1-2001/Cor 2-2004, item XBD/TC2/D6/26 is applied,
> >> adding pthread_t to the list of types that are not required to be
> >> arithmetic types, thus allowing pthread_t to be defined as a structure.
> >>
> >> It would be better to leave pthread_t alone and not interpret it:
> >>
> >> if (priv->timer_tid) {
> >>     pthread_cancel(priv->timer_tid);
> >>     pthread_join(priv->timer_tid, &status); }
> >> priv->timer_tid = 0;
> >
> >
> > I'm not sure why you think it is better in this specific case.
> > The cancellation will close the thread in faster way, no need to wait for 
> > the
> thread to close itself.
> >
> >
> >>
> >> --
> >> David Marchand
> >

Reply via email to