OLD | NEW |
---|---|
(Empty) | |
1 Libevent for NaCl | |
2 ================= | |
3 This is a port of libevent (an event notification library) to NaCl platform. | |
4 For details visit : http://libevent.org . | |
5 | |
6 **The library is "functional" albeit with some issues, this documents lists and | |
7 keep track of all those.** | |
8 | |
9 1. **Callbacks due to signals are NOT supported.** | |
10 | |
11 **Reason:** nacl.io do not support POSIX signals. | |
binji
2015/08/24 22:28:01
nacl_io
deepankar-tyagi
2015/08/25 18:14:43
Done.
| |
12 | |
13 **Details:** sigaction(...) and signal(...) are not(yet) implemented on | |
14 NaCl.io,thus the calls evsignal_add,evsignal_del,evsignal_pending should | |
15 be avoided,also event_add/event_del when passed with EV_SIGNAL will | |
16 also fail. | |
17 | |
18 For details about these functions visit : | |
19 http://www.wangafu.net/~nickm/libevent-book/Ref4_event.html | |
20 | |
21 See /samples/hello-world.c for more details. | |
22 To check if everything is working fine, run hello-world.nexe in nacl-devenv | |
23 extension and point your browser to localhost:9995 and you should see "hello | |
24 world". | |
25 | |
26 To debug/see implementation | |
27 Look for /event.c, /signal.c and /evmap.c | |
28 In /signal.c see function _evsig_set_handler and _evsig_restore_handler | |
29 | |
30 Typical function call | |
31 event_add > event_add_internal > (if signal) evmap_signal_add > evsig_add | |
32 | |
33 2. **Post build tests are skipped.** | |
34 | |
35 **Reason:** setitimer and getitimer not available in newlib. | |
36 | |
37 3. **Build against glibc is not functional, ie either static linking fails or | |
binji
2015/08/24 22:28:01
If non-functional, please disable it in pkg_info u
deepankar-tyagi
2015/08/25 18:14:43
disabled
| |
38 sometimes ELF header error pops up.** | |
39 | |
40 **Reason:** unknown (issue de-prioritized) | |
41 | |
42 **Notes** | |
43 | |
44 - Code in /samples/ (except hello-world.c) is not yet tested (or not yet | |
45 modified to work on nacl platform) | |
46 - Libevnt uses socketpair(...) extensively, however the same is not | |
binji
2015/08/24 22:28:01
sp: Libevent
deepankar-tyagi
2015/08/25 18:14:44
Done.
| |
47 implemented on nacl, thus custom implementation is used, to see details | |
48 look for evutil_ersatz_socketpair(...) in /evutil.c | |
OLD | NEW |