| Name: libevent |
| URL: http://libevent.org/ |
| Version: 1.4.15 |
| License: BSD |
| Security Critical: yes |
| |
| Local Modifications: |
| Rather than use libevent's own build system, we just build a Chrome |
| static library using GYP. |
| |
| 1) Run configure and "make event-config.h" on Linux, FreeBSD, Solaris, |
| and Mac and copy config.h and event-config.h to linux/, freebsd/, |
| solaris/, and mac/ respectively. |
| 2) Add libevent.gyp. |
| 3) chromium.patch is applied to make the following changes: |
| - Allow libevent to be used without being installed by changing <...> |
| #includes to "...". |
| - Fix a race condition in event_del. |
| - Optimistically assume CLOCK_MONOTONIC is available and fallback if it |
| fails, rather than explicitly testing for it. |
| - Remove an unneeded variable that causes a -Werror build failure. |
| - Add an #ifndef to fix a preprocessor redefined -Werror build failure. |
| - Revert the patch from http://sourceforge.net/p/levent/bugs/223/ that |
| introduces use-after-free memory corruption when an event callback frees |
| the struct event memory. |
| - Remove deprecated global variables, event_sigcb and event_gotsig |
| (essentially unused) that trigger tsan errors. (crbug/605894) |
| 4) The directories WIN32-Code and WIN32-Prj are not included. |
| 5) The configs for android were copied from Linux's which were very close to |
| android one with the exception of HAVE_FD_MASK and HAVE_STRLCPY. |
| 6) Add files to support building with the PNaCl toolchain. Added |
| libevent_nacl_nonsfi.gyp for build rule. nacl_nonsfi/config.h and |
| nacl_nonsfi/event-config.h are derived from linux/ counterparts. |
| nacl_nonsfi/random.c is also added to provide the random() function, |
| which is missing in the newlib-based PNaCl toolchain. |
| 7) Stub out signal.c for nacl_helper_nonsfi. socketpair() will be prohibited |
| by sandbox in nacl_helper_nonsfi. |
| 8) Remove an unnecessary workaround for OS X 10.4 from kqueue.c. It was causing |
| problems on macOS Sierra. |