Messages in this thread | | | Date | Sun, 23 Nov 2008 18:43:12 +0900 | From | Tejun Heo <> | Subject | Re: poll: allow f_op->poll to sleep, take #3 |
| |
Ingo Molnar wrote: > _sync() is not something that should normally be done from poll > handlers. But ->poll() handlers should all be TASK_INTERRUPTIBLE, > right? So wake_up_process_interruptible() should be the thing you > need? > > Anyway, if you really want to pass in a state filter, you can use the > already existing wake_up_state() method as well.
It's not really about what I want but more about how the interface looks in the first place. Something like the following is simply ugly.
int my_callback(param a, param b, param c) { WARN_ON(b != B); do_something(a); }
And @sync might be useful depending on who's waking it up, so we either need to change the wake interface or give it an easier way to pass those parameters as received. The callback function isn't the right place to ignore those parameters. It simply doesn't know why the caller is passing them in or what they mean under the circumstances.
Thanks.
-- tejun
| |