Nick Mathewson ddd69d391e EVENT_BASE_FLAG_PRECISE_TIMER indicates we want fine timer precision
There are a bunch of backends that can give us a reasonably good
monotonic timer quickly, or a very precise monotonic timer less
quickly.  For example, Linux has CLOCK_MONOTONIC_COARSE (1msec
precision), which is over twice as fast as CLOCK_MONOTONIC.  Since
epoll only lets you wait with 1msec precision,
CLOCK_MONOTONIC_COARSE is a clear win.

On Windows, you've got GetTickCount{,64}() which is fast, and
QueryPerformanceCounter, which is precise but slow.

Note that even in the cases where the underlying timer claims to
have nanosecond resolution, we're still not exposing that via
Libevent.

Note also that "Precision" isn't the same as "Resolution" or
"Accuracy".  A timer's precision is the smallest change that the
clock will register; a timer's resolution is the fineness of its
underlying representation; a timer's accuracy is how much it drifts
with respect to "Real Time", whatever that means.  (Terms and
definitions from PEP 418.)
2012-04-17 13:04:02 -04:00
2012-02-29 15:47:16 -05:00
2012-02-29 15:47:16 -05:00
2006-10-15 21:41:56 +00:00
2012-02-29 15:47:16 -05:00
2012-02-29 15:47:16 -05:00
2012-02-29 15:47:16 -05:00
2012-02-29 15:47:16 -05:00
2012-04-09 11:30:46 -04:00
2012-02-10 17:29:53 -05:00
2012-04-09 11:30:46 -04:00
2012-04-09 11:30:46 -04:00
2011-11-03 11:43:49 -04:00
2012-03-26 14:23:01 -04:00

0. BUILDING AND INSTALLATION (Briefly)

$ ./configure
$ make
$ make verify   # (optional)
$ sudo make install

1. BUILDING AND INSTALLATION (In Depth)

To build libevent, type

$ ./configure && make

     (If you got libevent from the git repository, you will
      first need to run the included "autogen.sh" script in order to
      generate the configure script.)

You can run the regression tests by running

$ make verify

Install as root via

# make install

Before, reporting any problems, please run the regression tests.

To enable the low-level tracing build the library as:

   CFLAGS=-DUSE_DEBUG ./configure [...]

Standard configure flags should work.  In particular, see:

   --disable-shared          Only build static libraries
   --prefix                  Install all files relative to this directory.


The configure script also supports the following flags:

   --enable-gcc-warnings     Enable extra compiler checking with GCC.
   --disable-malloc-replacement
                             Don't let applications replace our memory
                             management functions
   --disable-openssl         Disable support for OpenSSL encryption.
   --disable-thread-support  Don't support multithreaded environments.

2. USEFUL LINKS:

For the latest released version of Libevent, see the official website at
http://libevent.org/ .

There's a pretty good work-in-progress manual up at
   http://www.wangafu.net/~nickm/libevent-book/ .

For the latest development versions of Libevent, access our Git repository
via
   "git clone git://levent.git.sourceforge.net/gitroot/levent/libevent"

You can browse the git repository online at
http://levent.git.sourceforge.net/git/gitweb-index.cgi .

To report bugs, request features, or submit patches to Libevent,
use the Sourceforge trackers at
https://sourceforge.net/tracker/?group_id=50884 .

There's also a libevent-users mailing list for talking about Libevent
use and development: http://archives.seul.org/libevent/users/

3. ACKNOWLEDGMENTS

The following people have helped with suggestions, ideas, code or
fixing bugs:

  Samy Al Bahra
  Jacob Appelbaum
  Arno Bakker
  Weston Andros Adamson
  William Ahern
  Ivan Andropov
  Sergey Avseyev
  Avi Bab
  Joachim Bauch
  Gilad Benjamini
  Stas Bekman
  Denis Bilenko
  Julien Blache
  Kevin Bowling
  Tomash Brechko
  Kelly Brock
  Ralph Castain
  Adrian Chadd
  Lawnstein Chan
  Shuo Chen
  Ka-Hing Cheung
  Andrew Danforth
  Ed Day
  Christopher Davis
  Mike Davis
  Mihai Draghicioiu
  Alexander Drozdov
  Mark Ellzey
  Shie Erlich
  Leonid Evdokimov
  Christophe Fillot
  Mike Frysinger
  Remi Gacogne
  Alexander von Gernler
  Artur Grabowski
  Sebastian Hahn
  Dave Hart
  Greg Hazel
  Mark Heily
  Michael Herf
  Greg Hewgill
  Aaron Hopkins
  Tani Hosokawa
  Jamie Iles
  Claudio Jeker
  Evan Jones
  George Kadianakis
  Phua Keat
  Kevin Ko
  Brian Koehmstedt
  Marko Kreen
  Valery Kyholodov
  Ross Lagerwall
  Scott Lamb
  Christopher Layne
  Adam Langley
  Graham Leggett
  Philip Lewis
  Zhou Li
  David Libenzi
  Yan Lin
  Moshe Litvin
  Mitchell Livingston
  Hagne Mahre
  Lubomir Marinov
  Abilio Marques
  Abel Mathew
  Nick Mathewson
  James Mansion
  Nicholas Marriott
  Andrey Matveev
  Caitlin Mercer
  Dagobert Michelsen
  Andrea Montefusco
  Mansour Moufid
  Mina Naguib
  Felix Nawothnig
  Trond Norbye
  Linus Nordberg
  Richard Nyberg
  Jon Oberheide
  Phil Oleson
  Dave Pacheco
  Tassilo von Parseval
  Catalin Patulea
  Simon Perreault
  Pierre Phaneuf
  Amarin Phaosawasdi
  Ryan Phillips
  Dimitre Piskyulev
  Pavel Plesov
  Jon Poland
  Nate R
  Robert Ransom
  Bert JW Regeer
  Peter Rosin
  Maseeb Abdul Qadir
  Wang Qin
  Hanna Schroeter
  Ralf Schmitt
  Mike Smellie
  Kevin Springborn
  Nir Soffer
  Harlan Stenn
  Steve Snyder
  Dug Song
  Dongsheng Song
  Hannes Sowa
  Ferenc Szalai
  Brodie Thiesfield
  Jason Toffaletti
  Gisle Vanem
  Bas Verhoeven
  Constantine Verutin
  Colin Watt
  Zack Weinberg
  Jardel Weyrich
  Alejo
  Alex
  Taral
  propanbutan
  mmadia

If we have forgotten your name, please contact us.
Description
Event notification library
Readme 20 MiB
Languages
C 87%
Roff 3.8%
CMake 3.6%
M4 2.5%
Python 2.2%
Other 0.9%