>> This patch introduces EV_ET flag. Whenever you specify EV_ET in
>> event_set
>> call a specific module will try enforce Edge-Triggered behaviour.
>
> Well, not exactly.  The way the patch is written now, when EV_ET is
> set, *and* you're using the epoll backend or the kqueue backend,
> you'll get edge-triggered behavior.  Otherwise, you get regular
> behavior.  I'm not sure whether this is the right API or not; it might
> make more sense for event_add to give an error when you try to add an
> EV_ET event to a backend that doesn't support EV_ET.  Alternatively,
> we could define the semantics of EV_ET so that instead of meaning
> "make this event edge triggered" it means "make this event edge
> triggered if possible."
>
> (This is one of the comments on the sourceforge patch; I'm hoping we
> can discuss this more there.  Niels: what do you think?)

"make this event edge triggered if possible." is exactly what I've meant.

There are two different points of view, which are better not to mix.

>From application developer's point of view EV_ET means "make this
event edge triggered if possible", since he/she/it should not be
dependent on the availability of a particular backend
(kqueue/select/poll).

>From library developer's point of view EV_ET means "make this
event edge triggered" whenever kqueue/epoll is used.

-- 
Best regards,
Valery Kholodkov

_______________________________________________
Libevent-users mailing list
Libevent-users@monkey.org
http://monkeymail.org/mailman/listinfo/libevent-users

Reply via email to