* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > I'm a bit nervous about the 'active' role of (trace_)events, because of the > way multiple callbacks can be registered. How would: > > err = event_x(); > if (err == -EACCESS) { > > be handled? [...] The default behavior would be something obvious: to trigger all callbacks and use the first non-zero return value. > [...] Would we need a way to prioritize which call back gets the return > value? One way I guess would be to add a check_event option, where you pass > in an ENUM of the event you want: > > event_x(); > err = check_event_x(MYEVENT); > > If something registered itself as "MYEVENT" to event_x, then you get the > return code of MYEVENT. If the MYEVENT was not registered, a -ENODEV or > something could be returned. I'm sure we could even optimize it such a way if > no active events have been registered to event_x, that check_event_x() will > return -ENODEV without any branches. I would keep it simple and extensible - that way we can complicate it when the need arises! :) Thanks, Ingo