[ofw] [PATCH] complib/user: fix timer race conditions
Tzachi Dar
tzachid at mellanox.co.il
Mon Jun 28 10:46:37 PDT 2010
The simple solution is to create a thread and to use timeout options of waitforsingleoject.
All other solutions are much more complicated than what one would think.
Thanks
Tzachi
> -----Original Message-----
> From: Hefty, Sean [mailto:sean.hefty at intel.com]
> Sent: Monday, June 28, 2010 8:26 PM
> To: Hefty, Sean; Tzachi Dar; Smith, Stan; Fab Tillier;
> ofw at lists.openfabrics.org
> Cc: Uri Habusha; Yevgeny Kliteynik
> Subject: RE: [PATCH] complib/user: fix timer race conditions
>
> > I don't follow their logic. If the OS can't automatically clean up a
> one-
> > shot timer, then there's no way our abstraction can... The timer
> APIs seem
> > pretty weak, and the documentation vague at best.
>
> I submitted a comment about the documentation. I also threw together a
> quick test to verify that without the call to DeleteTimerQueueTimer
> that there is a memory leak.
>
> > struct timer_osd
> > {
> > cl_timer_t *p_timer;
> > HANDLE timer;
> > };
> >
> > in cl_timer_trim() and pass that to the timer callback. The callback
> calls
> > DeleteTimerQueueTimer if it has not already been called for the timer
> in
> > question.
>
> I'll update the patch to do something similar to this, to ensure that
> we have matching Create-Delete calls and re-submit, unless someone sees
> a simple solution.
More information about the ofw
mailing list