On Sun, Jul 01, 2007 at 07:36:29PM +0400, Oleg Nesterov wrote: > Imho, the current naming of cancel_xxx workqueue functions is very confusing. > > cancel_delayed_work() > cancel_rearming_delayed_work() > cancel_rearming_delayed_workqueue() // obsolete > > cancel_work_sync() > > This looks as if the first 2 functions differ in "type" of their argument > which > is not true any longer, nowadays the difference is the behaviour. > > The semantics of cancel_rearming_delayed_work(dwork) was changed > significantly, > it doesn't require that dwork rearms itself, and cancels dwork synchronously. > > Rename it to cancel_delayed_work_sync(). This matches cancel_delayed_work() > and > cancel_work_sync(). Re-create cancel_rearming_delayed_work() as a simple > inline > obsolete wrapper, like cancel_rearming_delayed_workqueue().
I like the idea of this change, but have some doubt: "_sync" usually suggests the main difference from "" (or _nosync) is: _sync waits for something, while _nosync doesn't wait and instantly returns. Here it's a bit complicated: cancel_delayed_work() (so nosync), actually can wait a little too (on del_timer_sync). And cancel_rearming_delayed_work() is really more universal now, but still the main difference is this should be used with works that rearm (at least sometimes). If there is no rearming - no reason for this function (of course not forbidden too) - and maybe it better helps to remember the difference? So, I would probably prefer cancel_delayed_work_rearming(), but I don't write/read enough code with this, and I may be wrong. I'm not agains the current proposal too - maybe one more reason for sync? Regards, Jarek P. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/