Drop libevent and use our own event handling again.
There are several reasons for this: - MacOS/X doesn't support polling the tap device using kqueue, requiring a workaround to fall back to select(). - On Windows only sockets are properly handled, therefore tinc uses a second thread that does a blocking ReadFile() on the TAP-Win32/64 device. However, this does not mix well with libevent. - Libevent, event just the core, is quite large, and although it is easy to get and install on many platforms, it can be a burden. - Libev is more lightweight and seems technically superior, but it doesn't abstract away all the platform differences (for example, async events are not supported on Windows).
This commit is contained in:
parent
d30b9e1272
commit
6bc5d626a8
28 changed files with 459 additions and 299 deletions
|
|
@ -339,7 +339,6 @@ having them installed, configure will give you an error message, and stop.
|
|||
* OpenSSL::
|
||||
* zlib::
|
||||
* lzo::
|
||||
* libevent::
|
||||
* libcurses::
|
||||
* libreadline::
|
||||
@end menu
|
||||
|
|
@ -458,27 +457,6 @@ make sure you build development and runtime libraries (which is the
|
|||
default).
|
||||
|
||||
|
||||
@c ==================================================================
|
||||
@node libevent
|
||||
@subsection libevent
|
||||
|
||||
@cindex libevent
|
||||
For the main event loop, tinc uses the libevent library.
|
||||
|
||||
If this library is not installed, you wil get an error when configuring
|
||||
tinc for build.
|
||||
|
||||
You can use your operating system's package manager to install this if
|
||||
available. Make sure you install the development AND runtime versions
|
||||
of this package.
|
||||
|
||||
If you have to install libevent manually, you can get the source code
|
||||
from @url{http://libevent.org/}. Instructions on how to configure,
|
||||
build and install this package are included within the package. Please
|
||||
make sure you build development and runtime libraries (which is the
|
||||
default).
|
||||
|
||||
|
||||
@c ==================================================================
|
||||
@node libcurses
|
||||
@subsection libcurses
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue