libev-4.11 has just been released

Marc Lehmann schmorp at
Mon Feb 6 22:52:26 CET 2012

I am pleased to announce libev 4.11!


This release is mainly a bugfix release but featuring also an incompatible
change to ev_timer_again semantic, to make it behave as was documented.

This release of libev requires memory fences, which are provided for most
compilers in use today. If your compiler is not supported, you have these options:

- compile with -DEV_NO_SMP, and only use libev on single-core systems, or
  in programs not using threads.
- provide memory fence support yourself and tell us how you did it
  (look for ECB_MEMORY_FENCE in ev.c).

The complete Changes are:

4.11 Sat Feb  4 19:52:39 CET 2012
        - INCOMPATIBLE CHANGE: ev_timer_again now clears the pending status, as
          was documented already, but not implemented in the repeating case.
        - new compiletime symbols: EV_NO_SMP and EV_NO_THREADS.
        - fix a race where the workaround against the epoll fork bugs
          caused signals to not be handled anymore.
        - correct backend_fudge for most backends, and implement a windows
          specific workaround to avoid looping because we call both
          select and Sleep, both with different time resolutions.
        - document range and guarantees of ev_sleep.
        - document reasonable ranges for periodics interval and offset.
        - rename backend_fudge to backend_mintime to avoid future confusion :)
        - change the default periodic reschedule function to hopefully be more
          exact and correct even in corner cases or in the far future.
        - do not rely on -lm anymore: use it when available but use our
          own floor () if it is missing. This should make it easier to embed,
          as no external libraries are required.
        - strategically import macros from libecb and mark rarely-used functions
          as cache-cold (saving almost 2k code size on typical amd64 setups).
        - add Symbols.ev and Symbols.event files, that were missing.
        - fix backend_mintime value for epoll (was 1/1024, is 1/1000 now).
        - fix #3 "be smart about timeouts" to not "deadlock" when
          timeout == now, also improve the section overall.
        - support new EV_API_STATIC mode to make all libev symbols
        - supply default CFLAGS of -g -O3 with gcc when original CFLAGS
          were empty.


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

More information about the libev mailing list