diff options
author | root <root> | 2010-10-14 05:07:04 +0000 |
---|---|---|
committer | root <root> | 2010-10-14 05:07:04 +0000 |
commit | 5b02ac59349379c56dc2025ea1d1f91ff8688c06 (patch) | |
tree | 6ff096d3ca1d1e0917d1fbde257e4587ae034de6 | |
parent | 4a96bcc15a2aaffc5cf3ba07eefbfec66a704a80 (diff) |
*** empty log message ***
-rw-r--r-- | Changes | 2 | ||||
-rw-r--r-- | ev.c | 6 | ||||
-rw-r--r-- | ev.pod | 7 |
3 files changed, 10 insertions, 5 deletions
@@ -1,9 +1,7 @@ Revision history for libev, a high-performance and full-featured event loop. TODO: ABI??? API????? Changes??? -TODO: win32 write() to socket for signal handling TODO: EV_USE__XXX default with config, document -TODO: portbality section, solaris errno rrentrant, aix, win32, linux 32 bit TODO: include ev_xyz_start in each example? TODO: section watcher states/lifetime - "PORTING FROM LIBEV 3.X TO 4.X" (in ev.pod) is recommended reading. @@ -1283,6 +1283,11 @@ evpipe_write (EV_P_ EV_ATOMIC_T *flag) } else #endif + /* win32 people keep sending patches that change this write() to send() */ + /* and then run away. but send() is wrong, it wants a socket handle on win32 */ + /* so when you think this write should be a send instead, please find out */ + /* where your send() is from - it's definitely not the microsoft send, and */ + /* tell me. thank you. */ write (evpipe [1], &dummy, 1); errno = old_errno; @@ -1306,6 +1311,7 @@ pipecb (EV_P_ ev_io *iow, int revents) #endif { char dummy; + /* see discussion in evpipe_write when you think this read should be recv in win32 */ read (evpipe [0], &dummy, 1); } @@ -4443,7 +4443,7 @@ a loop. All that's left is C<select>, and of course Apple found a way to fuck this one up as well: On OS/X, C<select> actively limits the number of file -descriptors you can pass in to 1024 - your program suddenyl crashes when +descriptors you can pass in to 1024 - your program suddenly crashes when you use more. There is an undocumented "workaround" for this - defining @@ -4470,8 +4470,9 @@ freezes or you get a large number of spurious wakeups, make sure you have all the relevant and latest kernel patches applied. No, I don't know which ones, but there are multiple ones. -If you can't get it to work, you can try running the program with -C<LIBEV_FLAGS=3> to only allow C<poll> and C<select> backends. +If you can't get it to work, you can try running the program by setting +the environment variable C<LIBEV_FLAGS=3> to only allow C<poll> and +C<select> backends. =head2 AIX POLL BUG |