>    1. "the documentation wrongly claimed that user may modify fd 
> and events members in io watchers when the watcher was stopped." means: 
> Can't modify internal members even if I/O watcher has been stopped?

Yes - you have to use ev_io_set or the new ev_io_modify, direct
modification does not work properly as the io watcher caches some kernel
state info. If you modified these members directly, it might or might not
work correctly, even in old versions.

To be specific, in most versions of libev, I/O watchers assume that if the
fd wasn't changed via ev_io_set, it will refer to the same underlying file
description, unless you use ev_io_set. If you modify the fd directly, you
might not receive events for it, and you might even receive events for fds
that are no longer open (mostly due to the braindamage that is epoll).

>    2. What is the scenario where timerfd checks "Time Jump" cannot 
> wake up? why a minute?

I don't know of any scenarion where timerfds fail - I assume you refer
to something in the Changes file, but what exactly? The only thing that
changed is that libev does not wake up roughly every minute when it is
sure it can keep the time without it.

>    3. What are the special reasons why Linux AIO is no longer the 
> default backend?

It never was the default backend, it merely was available for use by default.
This is no longer the case - compiled libev versions no longer support the
aio backend by default.

The reasons are not that special: linux aio is buggy, extremely slow
and suffers from a multitude of arbitrary limitations, which is why it
couldn't be a default backend. It is expected that the io_uring interface
will eventually replace the epoll backend, although at the moment it's not
there yet. So basically, it is useless dead code that is of little to no
use to anybody, and would only bloat the binary.

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schm...@schmorp.de
      -=====/_/_//_/\_,_/ /_/\_\

_______________________________________________
libev mailing list
libev@lists.schmorp.de
http://lists.schmorp.de/mailman/listinfo/libev

Reply via email to