del_timer_sync — deactivate a timer and wait for the handler to finish.
int del_timer_sync ( | struct timer_list * | timer) ; |
This function only differs from del_timer
on SMP: besides deactivating
the timer it also makes sure the handler has finished executing on other
CPUs.
Callers must prevent restarting of the timer,
otherwise this function is meaningless. It must not be called from
interrupt contexts. The caller must not hold locks which would prevent
completion of the timer's handler. The timer's handler must not call
add_timer_on
. Upon exit the timer is not queued and the handler is
not running on any CPU.
The function returns whether it has deactivated a pending timer or not.