libev-3.8 has just been released

Marc Lehmann schmorp at
Sun Aug 9 14:41:34 CEST 2009

I am pleased to announce libev 3.8.

The biggest bugfix in this release is for ev_default_destroy not properly
zeroing all structure members.

It also contains a lot of changes to the signal handling, most notably it
is now allowed to start signal watchers in any loop, given that they do
not bind on the same signal.

On GNU/Linux systems, libev will now take avdantage of signalfd
functionality if available, and will also use thread-safe variants of the
epoll_create/signalfd and eventfd syscalls, when available.

The complete Changes are:

3.8  Sun Aug  9 14:30:45 CEST 2009
        - incompatible change: do not necessarily reset signal handler
          to SIG_DFL when a sighandler is stopped.
        - ev_default_destroy did not properly free or zero some members,
          potentially causing crashes and memory corruption on repated
          ev_default_destroy/ev_default_loop calls.
        - take advantage of signalfd on GNU/Linux systems.
        - document that the signal mask might be in an unspecified
          state when using libev's signal handling.
        - take advantage of some GNU/Linux calls to set cloexec/nonblock
          on fd creation, to avoid race conditions.


                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_    
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      pcg at
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list