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 |