| Index: ports/libevent/README
|
| diff --git a/ports/libevent/README b/ports/libevent/README
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0b25918847a62f3189f8d0597d04cd3aca0c7f68
|
| --- /dev/null
|
| +++ b/ports/libevent/README
|
| @@ -0,0 +1,43 @@
|
| +This is a port of libevent (an event notification library) to nacl platfrom.
|
| +For details visit : http://libevent.org
|
| +
|
| +The library is "functional" albeit with some issues, this documents lists and
|
| +keep tracks all those.
|
| +
|
| +Issue #1
|
| +Callbacks due to signals are NOT supported.
|
| +Reason: nacl.io do not support POSIX signals.
|
| +Details : sigaction(...) and signal(...) are not(yet) implemented on nacl.io,
|
| +thus the calls evsignal_add,evsignal_del,evsignal_pending should be avoided,
|
| +also event_add/event_del when passed with EV_SIGNAL will also fail.
|
| +
|
| +For details about these functions visit :
|
| +http://www.wangafu.net/~nickm/libevent-book/Ref4_event.html
|
| +
|
| +See /samples/hello-world.c for more details.
|
| +To check if everything is working fine, run hello-world.nexe in nacl-devenv
|
| +extension and point your browser to localhost:9995 and you should see "hello
|
| +world".
|
| +
|
| +To debug/see implementation
|
| +Look for /event.c, /signal.c and /evmap.c
|
| +In /signal.c see function _evsig_set_handler and _evsig_restore_handler
|
| +
|
| +Typical function call
|
| +event_add > event_add_internal > (if signal) evmap_signal_add > evsig_add
|
| +
|
| +Issue #2
|
| +Post build tests are skipped.
|
| +Reason : setitimer and getitimer not available in newlib.
|
| +
|
| +Issue #3
|
| +Build against glibc is not functional, ie either static linking fails or
|
| +sometimes ELF header error pops up
|
| +Reason : unknown (issue deprioritized)
|
| +
|
| +Note
|
| +1.Code in /samples/ (except hello-world.c) is not yet tested (or not yet
|
| +modified to work on nacl platform)
|
| +2.Libevnt uses socketpair(...) extensively, however the same is not
|
| +implemented on nacl, thus custom implementation is used, to see details
|
| +look for evutil_ersatz_socketpair(...) in /evutil.c
|
|
|