asyncengine 0.0.1.testing

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. data/README.markdown +0 -0
  2. data/asyncengine.gemspec +26 -0
  3. data/ext/asyncengine_ext/asyncengine_ruby.c +82 -0
  4. data/ext/asyncengine_ext/extconf.rb +47 -0
  5. data/ext/asyncengine_ext/libuv/AUTHORS +45 -0
  6. data/ext/asyncengine_ext/libuv/LICENSE +42 -0
  7. data/ext/asyncengine_ext/libuv/Makefile +119 -0
  8. data/ext/asyncengine_ext/libuv/README.md +88 -0
  9. data/ext/asyncengine_ext/libuv/build/gcc_version.py +20 -0
  10. data/ext/asyncengine_ext/libuv/common.gypi +176 -0
  11. data/ext/asyncengine_ext/libuv/config-mingw.mk +61 -0
  12. data/ext/asyncengine_ext/libuv/config-unix.mk +173 -0
  13. data/ext/asyncengine_ext/libuv/gyp_uv +60 -0
  14. data/ext/asyncengine_ext/libuv/include/ares.h +591 -0
  15. data/ext/asyncengine_ext/libuv/include/ares_version.h +24 -0
  16. data/ext/asyncengine_ext/libuv/include/uv-private/eio.h +403 -0
  17. data/ext/asyncengine_ext/libuv/include/uv-private/ev.h +838 -0
  18. data/ext/asyncengine_ext/libuv/include/uv-private/ngx-queue.h +106 -0
  19. data/ext/asyncengine_ext/libuv/include/uv-private/tree.h +768 -0
  20. data/ext/asyncengine_ext/libuv/include/uv-private/uv-unix.h +256 -0
  21. data/ext/asyncengine_ext/libuv/include/uv-private/uv-win.h +458 -0
  22. data/ext/asyncengine_ext/libuv/include/uv.h +1556 -0
  23. data/ext/asyncengine_ext/libuv/src/ares/AUTHORS +37 -0
  24. data/ext/asyncengine_ext/libuv/src/ares/CHANGES +1218 -0
  25. data/ext/asyncengine_ext/libuv/src/ares/CMakeLists.txt +22 -0
  26. data/ext/asyncengine_ext/libuv/src/ares/NEWS +21 -0
  27. data/ext/asyncengine_ext/libuv/src/ares/README +60 -0
  28. data/ext/asyncengine_ext/libuv/src/ares/README.cares +13 -0
  29. data/ext/asyncengine_ext/libuv/src/ares/README.msvc +142 -0
  30. data/ext/asyncengine_ext/libuv/src/ares/README.node +21 -0
  31. data/ext/asyncengine_ext/libuv/src/ares/RELEASE-NOTES +26 -0
  32. data/ext/asyncengine_ext/libuv/src/ares/TODO +23 -0
  33. data/ext/asyncengine_ext/libuv/src/ares/ares__close_sockets.c +66 -0
  34. data/ext/asyncengine_ext/libuv/src/ares/ares__get_hostent.c +263 -0
  35. data/ext/asyncengine_ext/libuv/src/ares/ares__read_line.c +71 -0
  36. data/ext/asyncengine_ext/libuv/src/ares/ares__timeval.c +111 -0
  37. data/ext/asyncengine_ext/libuv/src/ares/ares_cancel.c +63 -0
  38. data/ext/asyncengine_ext/libuv/src/ares/ares_data.c +190 -0
  39. data/ext/asyncengine_ext/libuv/src/ares/ares_data.h +65 -0
  40. data/ext/asyncengine_ext/libuv/src/ares/ares_destroy.c +105 -0
  41. data/ext/asyncengine_ext/libuv/src/ares/ares_dns.h +90 -0
  42. data/ext/asyncengine_ext/libuv/src/ares/ares_expand_name.c +200 -0
  43. data/ext/asyncengine_ext/libuv/src/ares/ares_expand_string.c +75 -0
  44. data/ext/asyncengine_ext/libuv/src/ares/ares_fds.c +63 -0
  45. data/ext/asyncengine_ext/libuv/src/ares/ares_free_hostent.c +42 -0
  46. data/ext/asyncengine_ext/libuv/src/ares/ares_free_string.c +25 -0
  47. data/ext/asyncengine_ext/libuv/src/ares/ares_getenv.c +30 -0
  48. data/ext/asyncengine_ext/libuv/src/ares/ares_getenv.h +26 -0
  49. data/ext/asyncengine_ext/libuv/src/ares/ares_gethostbyaddr.c +301 -0
  50. data/ext/asyncengine_ext/libuv/src/ares/ares_gethostbyname.c +523 -0
  51. data/ext/asyncengine_ext/libuv/src/ares/ares_getnameinfo.c +427 -0
  52. data/ext/asyncengine_ext/libuv/src/ares/ares_getopt.c +122 -0
  53. data/ext/asyncengine_ext/libuv/src/ares/ares_getopt.h +53 -0
  54. data/ext/asyncengine_ext/libuv/src/ares/ares_getsock.c +72 -0
  55. data/ext/asyncengine_ext/libuv/src/ares/ares_init.c +1809 -0
  56. data/ext/asyncengine_ext/libuv/src/ares/ares_iphlpapi.h +221 -0
  57. data/ext/asyncengine_ext/libuv/src/ares/ares_ipv6.h +78 -0
  58. data/ext/asyncengine_ext/libuv/src/ares/ares_library_init.c +142 -0
  59. data/ext/asyncengine_ext/libuv/src/ares/ares_library_init.h +42 -0
  60. data/ext/asyncengine_ext/libuv/src/ares/ares_llist.c +86 -0
  61. data/ext/asyncengine_ext/libuv/src/ares/ares_llist.h +42 -0
  62. data/ext/asyncengine_ext/libuv/src/ares/ares_mkquery.c +195 -0
  63. data/ext/asyncengine_ext/libuv/src/ares/ares_nowarn.c +181 -0
  64. data/ext/asyncengine_ext/libuv/src/ares/ares_nowarn.h +55 -0
  65. data/ext/asyncengine_ext/libuv/src/ares/ares_options.c +248 -0
  66. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_a_reply.c +263 -0
  67. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_aaaa_reply.c +259 -0
  68. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_mx_reply.c +170 -0
  69. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_ns_reply.c +182 -0
  70. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_ptr_reply.c +217 -0
  71. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_srv_reply.c +179 -0
  72. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_txt_reply.c +201 -0
  73. data/ext/asyncengine_ext/libuv/src/ares/ares_platform.c +11035 -0
  74. data/ext/asyncengine_ext/libuv/src/ares/ares_platform.h +43 -0
  75. data/ext/asyncengine_ext/libuv/src/ares/ares_private.h +355 -0
  76. data/ext/asyncengine_ext/libuv/src/ares/ares_process.c +1295 -0
  77. data/ext/asyncengine_ext/libuv/src/ares/ares_query.c +183 -0
  78. data/ext/asyncengine_ext/libuv/src/ares/ares_rules.h +144 -0
  79. data/ext/asyncengine_ext/libuv/src/ares/ares_search.c +321 -0
  80. data/ext/asyncengine_ext/libuv/src/ares/ares_send.c +134 -0
  81. data/ext/asyncengine_ext/libuv/src/ares/ares_setup.h +199 -0
  82. data/ext/asyncengine_ext/libuv/src/ares/ares_strcasecmp.c +66 -0
  83. data/ext/asyncengine_ext/libuv/src/ares/ares_strcasecmp.h +30 -0
  84. data/ext/asyncengine_ext/libuv/src/ares/ares_strdup.c +42 -0
  85. data/ext/asyncengine_ext/libuv/src/ares/ares_strdup.h +26 -0
  86. data/ext/asyncengine_ext/libuv/src/ares/ares_strerror.c +56 -0
  87. data/ext/asyncengine_ext/libuv/src/ares/ares_timeout.c +80 -0
  88. data/ext/asyncengine_ext/libuv/src/ares/ares_version.c +11 -0
  89. data/ext/asyncengine_ext/libuv/src/ares/ares_writev.c +79 -0
  90. data/ext/asyncengine_ext/libuv/src/ares/ares_writev.h +36 -0
  91. data/ext/asyncengine_ext/libuv/src/ares/bitncmp.c +59 -0
  92. data/ext/asyncengine_ext/libuv/src/ares/bitncmp.h +26 -0
  93. data/ext/asyncengine_ext/libuv/src/ares/config_cygwin/ares_config.h +512 -0
  94. data/ext/asyncengine_ext/libuv/src/ares/config_darwin/ares_config.h +512 -0
  95. data/ext/asyncengine_ext/libuv/src/ares/config_freebsd/ares_config.h +512 -0
  96. data/ext/asyncengine_ext/libuv/src/ares/config_linux/ares_config.h +512 -0
  97. data/ext/asyncengine_ext/libuv/src/ares/config_netbsd/ares_config.h +512 -0
  98. data/ext/asyncengine_ext/libuv/src/ares/config_openbsd/ares_config.h +512 -0
  99. data/ext/asyncengine_ext/libuv/src/ares/config_sunos/ares_config.h +512 -0
  100. data/ext/asyncengine_ext/libuv/src/ares/config_win32/ares_config.h +369 -0
  101. data/ext/asyncengine_ext/libuv/src/ares/get_ver.awk +35 -0
  102. data/ext/asyncengine_ext/libuv/src/ares/inet_net_pton.c +451 -0
  103. data/ext/asyncengine_ext/libuv/src/ares/inet_net_pton.h +31 -0
  104. data/ext/asyncengine_ext/libuv/src/ares/inet_ntop.c +208 -0
  105. data/ext/asyncengine_ext/libuv/src/ares/inet_ntop.h +26 -0
  106. data/ext/asyncengine_ext/libuv/src/ares/nameser.h +203 -0
  107. data/ext/asyncengine_ext/libuv/src/ares/setup_once.h +504 -0
  108. data/ext/asyncengine_ext/libuv/src/ares/windows_port.c +22 -0
  109. data/ext/asyncengine_ext/libuv/src/unix/async.c +58 -0
  110. data/ext/asyncengine_ext/libuv/src/unix/cares.c +194 -0
  111. data/ext/asyncengine_ext/libuv/src/unix/check.c +80 -0
  112. data/ext/asyncengine_ext/libuv/src/unix/core.c +588 -0
  113. data/ext/asyncengine_ext/libuv/src/unix/cygwin.c +84 -0
  114. data/ext/asyncengine_ext/libuv/src/unix/darwin.c +341 -0
  115. data/ext/asyncengine_ext/libuv/src/unix/dl.c +91 -0
  116. data/ext/asyncengine_ext/libuv/src/unix/eio/Changes +63 -0
  117. data/ext/asyncengine_ext/libuv/src/unix/eio/LICENSE +36 -0
  118. data/ext/asyncengine_ext/libuv/src/unix/eio/Makefile.am +15 -0
  119. data/ext/asyncengine_ext/libuv/src/unix/eio/aclocal.m4 +8957 -0
  120. data/ext/asyncengine_ext/libuv/src/unix/eio/autogen.sh +3 -0
  121. data/ext/asyncengine_ext/libuv/src/unix/eio/config.h.in +86 -0
  122. data/ext/asyncengine_ext/libuv/src/unix/eio/config_cygwin.h +80 -0
  123. data/ext/asyncengine_ext/libuv/src/unix/eio/config_darwin.h +141 -0
  124. data/ext/asyncengine_ext/libuv/src/unix/eio/config_freebsd.h +81 -0
  125. data/ext/asyncengine_ext/libuv/src/unix/eio/config_linux.h +94 -0
  126. data/ext/asyncengine_ext/libuv/src/unix/eio/config_netbsd.h +81 -0
  127. data/ext/asyncengine_ext/libuv/src/unix/eio/config_openbsd.h +137 -0
  128. data/ext/asyncengine_ext/libuv/src/unix/eio/config_sunos.h +84 -0
  129. data/ext/asyncengine_ext/libuv/src/unix/eio/configure.ac +22 -0
  130. data/ext/asyncengine_ext/libuv/src/unix/eio/demo.c +194 -0
  131. data/ext/asyncengine_ext/libuv/src/unix/eio/ecb.h +370 -0
  132. data/ext/asyncengine_ext/libuv/src/unix/eio/eio.3 +3428 -0
  133. data/ext/asyncengine_ext/libuv/src/unix/eio/eio.c +2593 -0
  134. data/ext/asyncengine_ext/libuv/src/unix/eio/eio.pod +969 -0
  135. data/ext/asyncengine_ext/libuv/src/unix/eio/libeio.m4 +195 -0
  136. data/ext/asyncengine_ext/libuv/src/unix/eio/xthread.h +164 -0
  137. data/ext/asyncengine_ext/libuv/src/unix/error.c +98 -0
  138. data/ext/asyncengine_ext/libuv/src/unix/ev/Changes +388 -0
  139. data/ext/asyncengine_ext/libuv/src/unix/ev/LICENSE +36 -0
  140. data/ext/asyncengine_ext/libuv/src/unix/ev/Makefile.am +18 -0
  141. data/ext/asyncengine_ext/libuv/src/unix/ev/Makefile.in +771 -0
  142. data/ext/asyncengine_ext/libuv/src/unix/ev/README +58 -0
  143. data/ext/asyncengine_ext/libuv/src/unix/ev/aclocal.m4 +8957 -0
  144. data/ext/asyncengine_ext/libuv/src/unix/ev/autogen.sh +6 -0
  145. data/ext/asyncengine_ext/libuv/src/unix/ev/config.guess +1526 -0
  146. data/ext/asyncengine_ext/libuv/src/unix/ev/config.h.in +125 -0
  147. data/ext/asyncengine_ext/libuv/src/unix/ev/config.sub +1658 -0
  148. data/ext/asyncengine_ext/libuv/src/unix/ev/config_cygwin.h +123 -0
  149. data/ext/asyncengine_ext/libuv/src/unix/ev/config_darwin.h +122 -0
  150. data/ext/asyncengine_ext/libuv/src/unix/ev/config_freebsd.h +120 -0
  151. data/ext/asyncengine_ext/libuv/src/unix/ev/config_linux.h +141 -0
  152. data/ext/asyncengine_ext/libuv/src/unix/ev/config_netbsd.h +120 -0
  153. data/ext/asyncengine_ext/libuv/src/unix/ev/config_openbsd.h +126 -0
  154. data/ext/asyncengine_ext/libuv/src/unix/ev/config_sunos.h +122 -0
  155. data/ext/asyncengine_ext/libuv/src/unix/ev/configure +13037 -0
  156. data/ext/asyncengine_ext/libuv/src/unix/ev/configure.ac +18 -0
  157. data/ext/asyncengine_ext/libuv/src/unix/ev/depcomp +630 -0
  158. data/ext/asyncengine_ext/libuv/src/unix/ev/ev++.h +816 -0
  159. data/ext/asyncengine_ext/libuv/src/unix/ev/ev.3 +5311 -0
  160. data/ext/asyncengine_ext/libuv/src/unix/ev/ev.c +3921 -0
  161. data/ext/asyncengine_ext/libuv/src/unix/ev/ev.pod +5243 -0
  162. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_epoll.c +266 -0
  163. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_kqueue.c +235 -0
  164. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_poll.c +148 -0
  165. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_port.c +179 -0
  166. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_select.c +310 -0
  167. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_vars.h +203 -0
  168. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_win32.c +153 -0
  169. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_wrap.h +196 -0
  170. data/ext/asyncengine_ext/libuv/src/unix/ev/event.c +402 -0
  171. data/ext/asyncengine_ext/libuv/src/unix/ev/event.h +170 -0
  172. data/ext/asyncengine_ext/libuv/src/unix/ev/install-sh +294 -0
  173. data/ext/asyncengine_ext/libuv/src/unix/ev/libev.m4 +39 -0
  174. data/ext/asyncengine_ext/libuv/src/unix/ev/ltmain.sh +8413 -0
  175. data/ext/asyncengine_ext/libuv/src/unix/ev/missing +336 -0
  176. data/ext/asyncengine_ext/libuv/src/unix/ev/mkinstalldirs +111 -0
  177. data/ext/asyncengine_ext/libuv/src/unix/freebsd.c +312 -0
  178. data/ext/asyncengine_ext/libuv/src/unix/fs.c +707 -0
  179. data/ext/asyncengine_ext/libuv/src/unix/idle.c +79 -0
  180. data/ext/asyncengine_ext/libuv/src/unix/internal.h +161 -0
  181. data/ext/asyncengine_ext/libuv/src/unix/kqueue.c +127 -0
  182. data/ext/asyncengine_ext/libuv/src/unix/linux/core.c +474 -0
  183. data/ext/asyncengine_ext/libuv/src/unix/linux/inotify.c +211 -0
  184. data/ext/asyncengine_ext/libuv/src/unix/linux/syscalls.c +230 -0
  185. data/ext/asyncengine_ext/libuv/src/unix/linux/syscalls.h +87 -0
  186. data/ext/asyncengine_ext/libuv/src/unix/loop.c +58 -0
  187. data/ext/asyncengine_ext/libuv/src/unix/netbsd.c +108 -0
  188. data/ext/asyncengine_ext/libuv/src/unix/openbsd.c +295 -0
  189. data/ext/asyncengine_ext/libuv/src/unix/pipe.c +266 -0
  190. data/ext/asyncengine_ext/libuv/src/unix/prepare.c +79 -0
  191. data/ext/asyncengine_ext/libuv/src/unix/process.c +369 -0
  192. data/ext/asyncengine_ext/libuv/src/unix/stream.c +1033 -0
  193. data/ext/asyncengine_ext/libuv/src/unix/sunos.c +466 -0
  194. data/ext/asyncengine_ext/libuv/src/unix/tcp.c +327 -0
  195. data/ext/asyncengine_ext/libuv/src/unix/thread.c +154 -0
  196. data/ext/asyncengine_ext/libuv/src/unix/timer.c +127 -0
  197. data/ext/asyncengine_ext/libuv/src/unix/tty.c +146 -0
  198. data/ext/asyncengine_ext/libuv/src/unix/udp.c +670 -0
  199. data/ext/asyncengine_ext/libuv/src/unix/uv-eio.c +124 -0
  200. data/ext/asyncengine_ext/libuv/src/unix/uv-eio.h +13 -0
  201. data/ext/asyncengine_ext/libuv/src/uv-common.c +354 -0
  202. data/ext/asyncengine_ext/libuv/src/uv-common.h +87 -0
  203. data/ext/asyncengine_ext/libuv/src/win/async.c +127 -0
  204. data/ext/asyncengine_ext/libuv/src/win/cares.c +290 -0
  205. data/ext/asyncengine_ext/libuv/src/win/core.c +270 -0
  206. data/ext/asyncengine_ext/libuv/src/win/dl.c +82 -0
  207. data/ext/asyncengine_ext/libuv/src/win/error.c +132 -0
  208. data/ext/asyncengine_ext/libuv/src/win/fs-event.c +514 -0
  209. data/ext/asyncengine_ext/libuv/src/win/fs.c +1576 -0
  210. data/ext/asyncengine_ext/libuv/src/win/getaddrinfo.c +372 -0
  211. data/ext/asyncengine_ext/libuv/src/win/handle.c +225 -0
  212. data/ext/asyncengine_ext/libuv/src/win/internal.h +352 -0
  213. data/ext/asyncengine_ext/libuv/src/win/loop-watcher.c +131 -0
  214. data/ext/asyncengine_ext/libuv/src/win/pipe.c +1661 -0
  215. data/ext/asyncengine_ext/libuv/src/win/process.c +1140 -0
  216. data/ext/asyncengine_ext/libuv/src/win/req.c +174 -0
  217. data/ext/asyncengine_ext/libuv/src/win/stream.c +201 -0
  218. data/ext/asyncengine_ext/libuv/src/win/tcp.c +1282 -0
  219. data/ext/asyncengine_ext/libuv/src/win/thread.c +332 -0
  220. data/ext/asyncengine_ext/libuv/src/win/threadpool.c +73 -0
  221. data/ext/asyncengine_ext/libuv/src/win/timer.c +276 -0
  222. data/ext/asyncengine_ext/libuv/src/win/tty.c +1795 -0
  223. data/ext/asyncengine_ext/libuv/src/win/udp.c +709 -0
  224. data/ext/asyncengine_ext/libuv/src/win/util.c +719 -0
  225. data/ext/asyncengine_ext/libuv/src/win/winapi.c +117 -0
  226. data/ext/asyncengine_ext/libuv/src/win/winapi.h +4419 -0
  227. data/ext/asyncengine_ext/libuv/src/win/winsock.c +470 -0
  228. data/ext/asyncengine_ext/libuv/src/win/winsock.h +138 -0
  229. data/ext/asyncengine_ext/libuv/test/benchmark-ares.c +118 -0
  230. data/ext/asyncengine_ext/libuv/test/benchmark-getaddrinfo.c +94 -0
  231. data/ext/asyncengine_ext/libuv/test/benchmark-list.h +105 -0
  232. data/ext/asyncengine_ext/libuv/test/benchmark-ping-pongs.c +213 -0
  233. data/ext/asyncengine_ext/libuv/test/benchmark-pound.c +324 -0
  234. data/ext/asyncengine_ext/libuv/test/benchmark-pump.c +462 -0
  235. data/ext/asyncengine_ext/libuv/test/benchmark-sizes.c +40 -0
  236. data/ext/asyncengine_ext/libuv/test/benchmark-spawn.c +156 -0
  237. data/ext/asyncengine_ext/libuv/test/benchmark-tcp-write-batch.c +140 -0
  238. data/ext/asyncengine_ext/libuv/test/benchmark-thread.c +64 -0
  239. data/ext/asyncengine_ext/libuv/test/benchmark-udp-packet-storm.c +247 -0
  240. data/ext/asyncengine_ext/libuv/test/blackhole-server.c +118 -0
  241. data/ext/asyncengine_ext/libuv/test/dns-server.c +321 -0
  242. data/ext/asyncengine_ext/libuv/test/echo-server.c +370 -0
  243. data/ext/asyncengine_ext/libuv/test/fixtures/empty_file +0 -0
  244. data/ext/asyncengine_ext/libuv/test/fixtures/load_error.node +1 -0
  245. data/ext/asyncengine_ext/libuv/test/run-benchmarks.c +64 -0
  246. data/ext/asyncengine_ext/libuv/test/run-tests.c +108 -0
  247. data/ext/asyncengine_ext/libuv/test/runner-unix.c +315 -0
  248. data/ext/asyncengine_ext/libuv/test/runner-unix.h +36 -0
  249. data/ext/asyncengine_ext/libuv/test/runner-win.c +343 -0
  250. data/ext/asyncengine_ext/libuv/test/runner-win.h +42 -0
  251. data/ext/asyncengine_ext/libuv/test/runner.c +317 -0
  252. data/ext/asyncengine_ext/libuv/test/runner.h +159 -0
  253. data/ext/asyncengine_ext/libuv/test/task.h +117 -0
  254. data/ext/asyncengine_ext/libuv/test/test-async.c +216 -0
  255. data/ext/asyncengine_ext/libuv/test/test-callback-stack.c +203 -0
  256. data/ext/asyncengine_ext/libuv/test/test-connection-fail.c +148 -0
  257. data/ext/asyncengine_ext/libuv/test/test-counters-init.c +216 -0
  258. data/ext/asyncengine_ext/libuv/test/test-cwd-and-chdir.c +64 -0
  259. data/ext/asyncengine_ext/libuv/test/test-delayed-accept.c +197 -0
  260. data/ext/asyncengine_ext/libuv/test/test-dlerror.c +49 -0
  261. data/ext/asyncengine_ext/libuv/test/test-eio-overflow.c +90 -0
  262. data/ext/asyncengine_ext/libuv/test/test-error.c +59 -0
  263. data/ext/asyncengine_ext/libuv/test/test-fail-always.c +29 -0
  264. data/ext/asyncengine_ext/libuv/test/test-fs-event.c +442 -0
  265. data/ext/asyncengine_ext/libuv/test/test-fs.c +1731 -0
  266. data/ext/asyncengine_ext/libuv/test/test-get-currentexe.c +63 -0
  267. data/ext/asyncengine_ext/libuv/test/test-get-loadavg.c +36 -0
  268. data/ext/asyncengine_ext/libuv/test/test-get-memory.c +38 -0
  269. data/ext/asyncengine_ext/libuv/test/test-getaddrinfo.c +122 -0
  270. data/ext/asyncengine_ext/libuv/test/test-gethostbyname.c +189 -0
  271. data/ext/asyncengine_ext/libuv/test/test-getsockname.c +342 -0
  272. data/ext/asyncengine_ext/libuv/test/test-hrtime.c +51 -0
  273. data/ext/asyncengine_ext/libuv/test/test-idle.c +81 -0
  274. data/ext/asyncengine_ext/libuv/test/test-ipc-send-recv.c +209 -0
  275. data/ext/asyncengine_ext/libuv/test/test-ipc.c +614 -0
  276. data/ext/asyncengine_ext/libuv/test/test-list.h +371 -0
  277. data/ext/asyncengine_ext/libuv/test/test-loop-handles.c +359 -0
  278. data/ext/asyncengine_ext/libuv/test/test-multiple-listen.c +102 -0
  279. data/ext/asyncengine_ext/libuv/test/test-mutexes.c +63 -0
  280. data/ext/asyncengine_ext/libuv/test/test-pass-always.c +28 -0
  281. data/ext/asyncengine_ext/libuv/test/test-ping-pong.c +253 -0
  282. data/ext/asyncengine_ext/libuv/test/test-pipe-bind-error.c +140 -0
  283. data/ext/asyncengine_ext/libuv/test/test-pipe-connect-error.c +96 -0
  284. data/ext/asyncengine_ext/libuv/test/test-platform-output.c +87 -0
  285. data/ext/asyncengine_ext/libuv/test/test-process-title.c +42 -0
  286. data/ext/asyncengine_ext/libuv/test/test-ref.c +322 -0
  287. data/ext/asyncengine_ext/libuv/test/test-run-once.c +44 -0
  288. data/ext/asyncengine_ext/libuv/test/test-shutdown-close.c +103 -0
  289. data/ext/asyncengine_ext/libuv/test/test-shutdown-eof.c +183 -0
  290. data/ext/asyncengine_ext/libuv/test/test-spawn.c +499 -0
  291. data/ext/asyncengine_ext/libuv/test/test-stdio-over-pipes.c +256 -0
  292. data/ext/asyncengine_ext/libuv/test/test-tcp-bind-error.c +191 -0
  293. data/ext/asyncengine_ext/libuv/test/test-tcp-bind6-error.c +154 -0
  294. data/ext/asyncengine_ext/libuv/test/test-tcp-close.c +129 -0
  295. data/ext/asyncengine_ext/libuv/test/test-tcp-connect-error.c +70 -0
  296. data/ext/asyncengine_ext/libuv/test/test-tcp-connect6-error.c +68 -0
  297. data/ext/asyncengine_ext/libuv/test/test-tcp-flags.c +51 -0
  298. data/ext/asyncengine_ext/libuv/test/test-tcp-write-error.c +168 -0
  299. data/ext/asyncengine_ext/libuv/test/test-tcp-write-to-half-open-connection.c +135 -0
  300. data/ext/asyncengine_ext/libuv/test/test-tcp-writealot.c +195 -0
  301. data/ext/asyncengine_ext/libuv/test/test-thread.c +183 -0
  302. data/ext/asyncengine_ext/libuv/test/test-threadpool.c +57 -0
  303. data/ext/asyncengine_ext/libuv/test/test-timer-again.c +141 -0
  304. data/ext/asyncengine_ext/libuv/test/test-timer.c +130 -0
  305. data/ext/asyncengine_ext/libuv/test/test-tty.c +110 -0
  306. data/ext/asyncengine_ext/libuv/test/test-udp-dgram-too-big.c +86 -0
  307. data/ext/asyncengine_ext/libuv/test/test-udp-ipv6.c +156 -0
  308. data/ext/asyncengine_ext/libuv/test/test-udp-multicast-join.c +139 -0
  309. data/ext/asyncengine_ext/libuv/test/test-udp-multicast-ttl.c +86 -0
  310. data/ext/asyncengine_ext/libuv/test/test-udp-options.c +86 -0
  311. data/ext/asyncengine_ext/libuv/test/test-udp-send-and-recv.c +208 -0
  312. data/ext/asyncengine_ext/libuv/test/test-util.c +97 -0
  313. data/ext/asyncengine_ext/libuv/uv.gyp +435 -0
  314. data/ext/asyncengine_ext/libuv/vcbuild.bat +105 -0
  315. data/lib/asyncengine/version.rb +3 -0
  316. data/lib/asyncengine.rb +41 -0
  317. metadata +384 -0
@@ -0,0 +1,341 @@
1
+ /* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
3
+ * of this software and associated documentation files (the "Software"), to
4
+ * deal in the Software without restriction, including without limitation the
5
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
6
+ * sell copies of the Software, and to permit persons to whom the Software is
7
+ * furnished to do so, subject to the following conditions:
8
+ *
9
+ * The above copyright notice and this permission notice shall be included in
10
+ * all copies or substantial portions of the Software.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
17
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
18
+ * IN THE SOFTWARE.
19
+ */
20
+
21
+ #include "uv.h"
22
+ #include "internal.h"
23
+
24
+ #include <assert.h>
25
+ #include <stdint.h>
26
+ #include <errno.h>
27
+
28
+ #include <ifaddrs.h>
29
+ #include <net/if.h>
30
+
31
+ #include <TargetConditionals.h>
32
+
33
+ #if !TARGET_OS_IPHONE
34
+ #include <CoreServices/CoreServices.h>
35
+ #endif
36
+
37
+ #include <mach/mach.h>
38
+ #include <mach/mach_time.h>
39
+ #include <mach-o/dyld.h> /* _NSGetExecutablePath */
40
+ #include <sys/resource.h>
41
+ #include <sys/sysctl.h>
42
+ #include <unistd.h> /* sysconf */
43
+
44
+ static char *process_title;
45
+
46
+ #if TARGET_OS_IPHONE
47
+ /* see: http://developer.apple.com/library/mac/#qa/qa1398/_index.html */
48
+ uint64_t uv_hrtime() {
49
+ uint64_t time;
50
+ uint64_t enano;
51
+ static mach_timebase_info_data_t sTimebaseInfo;
52
+
53
+ time = mach_absolute_time();
54
+
55
+ if (0 == sTimebaseInfo.denom) {
56
+ (void)mach_timebase_info(&sTimebaseInfo);
57
+ }
58
+
59
+ enano = time * sTimebaseInfo.numer / sTimebaseInfo.denom;
60
+
61
+ return enano;
62
+ }
63
+ #else
64
+ uint64_t uv_hrtime() {
65
+ uint64_t time;
66
+ Nanoseconds enano;
67
+ time = mach_absolute_time();
68
+ enano = AbsoluteToNanoseconds(*(AbsoluteTime *)&time);
69
+ return (*(uint64_t *)&enano);
70
+ }
71
+ #endif
72
+
73
+ int uv_exepath(char* buffer, size_t* size) {
74
+ uint32_t usize;
75
+ int result;
76
+ char* path;
77
+ char* fullpath;
78
+
79
+ if (!buffer || !size) {
80
+ return -1;
81
+ }
82
+
83
+ usize = *size;
84
+ result = _NSGetExecutablePath(buffer, &usize);
85
+ if (result) return result;
86
+
87
+ path = (char*)malloc(2 * PATH_MAX);
88
+ fullpath = realpath(buffer, path);
89
+
90
+ if (fullpath == NULL) {
91
+ free(path);
92
+ return -1;
93
+ }
94
+
95
+ strncpy(buffer, fullpath, *size);
96
+ free(fullpath);
97
+ *size = strlen(buffer);
98
+ return 0;
99
+ }
100
+
101
+
102
+ uint64_t uv_get_free_memory(void) {
103
+ vm_statistics_data_t info;
104
+ mach_msg_type_number_t count = sizeof(info) / sizeof(integer_t);
105
+
106
+ if (host_statistics(mach_host_self(), HOST_VM_INFO,
107
+ (host_info_t)&info, &count) != KERN_SUCCESS) {
108
+ return -1;
109
+ }
110
+
111
+ return (uint64_t) info.free_count * sysconf(_SC_PAGESIZE);
112
+ }
113
+
114
+
115
+ uint64_t uv_get_total_memory(void) {
116
+ uint64_t info;
117
+ int which[] = {CTL_HW, HW_MEMSIZE};
118
+ size_t size = sizeof(info);
119
+
120
+ if (sysctl(which, 2, &info, &size, NULL, 0) < 0) {
121
+ return -1;
122
+ }
123
+
124
+ return (uint64_t) info;
125
+ }
126
+
127
+
128
+ void uv_loadavg(double avg[3]) {
129
+ struct loadavg info;
130
+ size_t size = sizeof(info);
131
+ int which[] = {CTL_VM, VM_LOADAVG};
132
+
133
+ if (sysctl(which, 2, &info, &size, NULL, 0) < 0) return;
134
+
135
+ avg[0] = (double) info.ldavg[0] / info.fscale;
136
+ avg[1] = (double) info.ldavg[1] / info.fscale;
137
+ avg[2] = (double) info.ldavg[2] / info.fscale;
138
+ }
139
+
140
+
141
+ char** uv_setup_args(int argc, char** argv) {
142
+ process_title = argc ? strdup(argv[0]) : NULL;
143
+ return argv;
144
+ }
145
+
146
+
147
+ uv_err_t uv_set_process_title(const char* title) {
148
+ /* TODO implement me */
149
+ return uv__new_artificial_error(UV_ENOSYS);
150
+ }
151
+
152
+
153
+ uv_err_t uv_get_process_title(char* buffer, size_t size) {
154
+ if (process_title) {
155
+ strncpy(buffer, process_title, size);
156
+ } else {
157
+ if (size > 0) {
158
+ buffer[0] = '\0';
159
+ }
160
+ }
161
+
162
+ return uv_ok_;
163
+ }
164
+
165
+
166
+ uv_err_t uv_resident_set_memory(size_t* rss) {
167
+ struct task_basic_info t_info;
168
+ mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT;
169
+
170
+ int r = task_info(mach_task_self(),
171
+ TASK_BASIC_INFO,
172
+ (task_info_t)&t_info,
173
+ &t_info_count);
174
+
175
+ if (r != KERN_SUCCESS) {
176
+ return uv__new_sys_error(errno);
177
+ }
178
+
179
+ *rss = t_info.resident_size;
180
+
181
+ return uv_ok_;
182
+ }
183
+
184
+
185
+ uv_err_t uv_uptime(double* uptime) {
186
+ time_t now;
187
+ struct timeval info;
188
+ size_t size = sizeof(info);
189
+ static int which[] = {CTL_KERN, KERN_BOOTTIME};
190
+
191
+ if (sysctl(which, 2, &info, &size, NULL, 0) < 0) {
192
+ return uv__new_sys_error(errno);
193
+ }
194
+ now = time(NULL);
195
+
196
+ *uptime = (double)(now - info.tv_sec);
197
+
198
+ return uv_ok_;
199
+ }
200
+
201
+ uv_err_t uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) {
202
+ unsigned int ticks = (unsigned int)sysconf(_SC_CLK_TCK),
203
+ multiplier = ((uint64_t)1000L / ticks);
204
+ char model[512];
205
+ uint64_t cpuspeed;
206
+ size_t size;
207
+ unsigned int i;
208
+ natural_t numcpus;
209
+ mach_msg_type_number_t msg_type;
210
+ processor_cpu_load_info_data_t *info;
211
+ uv_cpu_info_t* cpu_info;
212
+
213
+ size = sizeof(model);
214
+ if (sysctlbyname("hw.model", &model, &size, NULL, 0) < 0) {
215
+ return uv__new_sys_error(errno);
216
+ }
217
+ size = sizeof(cpuspeed);
218
+ if (sysctlbyname("hw.cpufrequency", &cpuspeed, &size, NULL, 0) < 0) {
219
+ return uv__new_sys_error(errno);
220
+ }
221
+
222
+ if (host_processor_info(mach_host_self(), PROCESSOR_CPU_LOAD_INFO, &numcpus,
223
+ (processor_info_array_t*)&info,
224
+ &msg_type) != KERN_SUCCESS) {
225
+ return uv__new_sys_error(errno);
226
+ }
227
+
228
+ *cpu_infos = (uv_cpu_info_t*)malloc(numcpus * sizeof(uv_cpu_info_t));
229
+ if (!(*cpu_infos)) {
230
+ return uv__new_artificial_error(UV_ENOMEM);
231
+ }
232
+
233
+ *count = numcpus;
234
+
235
+ for (i = 0; i < numcpus; i++) {
236
+ cpu_info = &(*cpu_infos)[i];
237
+
238
+ cpu_info->cpu_times.user = (uint64_t)(info[i].cpu_ticks[0]) * multiplier;
239
+ cpu_info->cpu_times.nice = (uint64_t)(info[i].cpu_ticks[3]) * multiplier;
240
+ cpu_info->cpu_times.sys = (uint64_t)(info[i].cpu_ticks[1]) * multiplier;
241
+ cpu_info->cpu_times.idle = (uint64_t)(info[i].cpu_ticks[2]) * multiplier;
242
+ cpu_info->cpu_times.irq = 0;
243
+
244
+ cpu_info->model = strdup(model);
245
+ cpu_info->speed = cpuspeed/1000000;
246
+ }
247
+ vm_deallocate(mach_task_self(), (vm_address_t)info, msg_type);
248
+
249
+ return uv_ok_;
250
+ }
251
+
252
+
253
+ void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count) {
254
+ int i;
255
+
256
+ for (i = 0; i < count; i++) {
257
+ free(cpu_infos[i].model);
258
+ }
259
+
260
+ free(cpu_infos);
261
+ }
262
+
263
+
264
+ uv_err_t uv_interface_addresses(uv_interface_address_t** addresses,
265
+ int* count) {
266
+ struct ifaddrs *addrs, *ent;
267
+ char ip[INET6_ADDRSTRLEN];
268
+ uv_interface_address_t* address;
269
+
270
+ if (getifaddrs(&addrs) != 0) {
271
+ return uv__new_sys_error(errno);
272
+ }
273
+
274
+ *count = 0;
275
+
276
+ /* Count the number of interfaces */
277
+ for (ent = addrs; ent != NULL; ent = ent->ifa_next) {
278
+ if (!(ent->ifa_flags & IFF_UP && ent->ifa_flags & IFF_RUNNING) ||
279
+ (ent->ifa_addr == NULL) ||
280
+ (ent->ifa_addr->sa_family == AF_LINK)) {
281
+ continue;
282
+ }
283
+
284
+ (*count)++;
285
+ }
286
+
287
+ *addresses = (uv_interface_address_t*)
288
+ malloc(*count * sizeof(uv_interface_address_t));
289
+ if (!(*addresses)) {
290
+ return uv__new_artificial_error(UV_ENOMEM);
291
+ }
292
+
293
+ address = *addresses;
294
+
295
+ for (ent = addrs; ent != NULL; ent = ent->ifa_next) {
296
+ bzero(&ip, sizeof (ip));
297
+ if (!(ent->ifa_flags & IFF_UP && ent->ifa_flags & IFF_RUNNING)) {
298
+ continue;
299
+ }
300
+
301
+ if (ent->ifa_addr == NULL) {
302
+ continue;
303
+ }
304
+
305
+ /*
306
+ * On Mac OS X getifaddrs returns information related to Mac Addresses for
307
+ * various devices, such as firewire, etc. These are not relevant here.
308
+ */
309
+ if (ent->ifa_addr->sa_family == AF_LINK) {
310
+ continue;
311
+ }
312
+
313
+ address->name = strdup(ent->ifa_name);
314
+
315
+ if (ent->ifa_addr->sa_family == AF_INET6) {
316
+ address->address.address6 = *((struct sockaddr_in6 *)ent->ifa_addr);
317
+ } else {
318
+ address->address.address4 = *((struct sockaddr_in *)ent->ifa_addr);
319
+ }
320
+
321
+ address->is_internal = ent->ifa_flags & IFF_LOOPBACK ? 1 : 0;
322
+
323
+ address++;
324
+ }
325
+
326
+ freeifaddrs(addrs);
327
+
328
+ return uv_ok_;
329
+ }
330
+
331
+
332
+ void uv_free_interface_addresses(uv_interface_address_t* addresses,
333
+ int count) {
334
+ int i;
335
+
336
+ for (i = 0; i < count; i++) {
337
+ free(addresses[i].name);
338
+ }
339
+
340
+ free(addresses);
341
+ }
@@ -0,0 +1,91 @@
1
+ /* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ * of this software and associated documentation files (the "Software"), to
5
+ * deal in the Software without restriction, including without limitation the
6
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ * sell copies of the Software, and to permit persons to whom the Software is
8
+ * furnished to do so, subject to the following conditions:
9
+ *
10
+ * The above copyright notice and this permission notice shall be included in
11
+ * all copies or substantial portions of the Software.
12
+ *
13
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ * IN THE SOFTWARE.
20
+ */
21
+
22
+ #include "uv.h"
23
+ #include "internal.h"
24
+
25
+ #include <dlfcn.h>
26
+ #include <errno.h>
27
+ #include <string.h>
28
+ #include <locale.h>
29
+
30
+ /* The dl family of functions don't set errno. We need a good way to communicate
31
+ * errors to the caller but there is only dlerror() and that returns a string -
32
+ * a string that may or may not be safe to keep a reference to...
33
+ */
34
+ static const uv_err_t uv_inval_ = { UV_EINVAL, EINVAL };
35
+
36
+
37
+ uv_err_t uv_dlopen(const char* filename, uv_lib_t* library) {
38
+ void* handle = dlopen(filename, RTLD_LAZY);
39
+ if (handle == NULL) {
40
+ return uv_inval_;
41
+ }
42
+
43
+ *library = handle;
44
+ return uv_ok_;
45
+ }
46
+
47
+
48
+ uv_err_t uv_dlclose(uv_lib_t library) {
49
+ if (dlclose(library) != 0) {
50
+ return uv_inval_;
51
+ }
52
+
53
+ return uv_ok_;
54
+ }
55
+
56
+
57
+ uv_err_t uv_dlsym(uv_lib_t library, const char* name, void** ptr) {
58
+ void* address;
59
+
60
+ /* Reset error status. */
61
+ dlerror();
62
+
63
+ address = dlsym(library, name);
64
+
65
+ if (dlerror()) {
66
+ return uv_inval_;
67
+ }
68
+
69
+ *ptr = (void*) address;
70
+ return uv_ok_;
71
+ }
72
+
73
+
74
+ const char *uv_dlerror(uv_lib_t library) {
75
+ const char* buf = NULL;
76
+ /* Make uv_dlerror() be independent of locale */
77
+ char* loc = setlocale(LC_MESSAGES, NULL);
78
+ if(strcmp(loc, "C") == 0) {
79
+ return strdup(dlerror());
80
+ } else {
81
+ setlocale(LC_MESSAGES, "C");
82
+ buf = dlerror();
83
+ setlocale(LC_MESSAGES, loc);
84
+ return strdup(buf);
85
+ }
86
+ }
87
+
88
+
89
+ void uv_dlerror_free(uv_lib_t library, const char *msg) {
90
+ free((void*)msg);
91
+ }
@@ -0,0 +1,63 @@
1
+ Revision history for libeio
2
+
3
+ TODO: maybe add mincore support? available on at least darwin, solaris, linux, freebsd
4
+ TODO: openbsd requires stdint.h for intptr_t - why posix?
5
+
6
+ TODO: make mtouch/readdir maybe others cancellable in-request
7
+ TODO: fadvise request
8
+ 1.0
9
+ - fix a deadlock where a wakeup signal could be missed when
10
+ a timeout occured at the same time.
11
+ - use nonstandard but maybe-working-on-bsd fork technique.
12
+ - use fewer time() syscalls when waiting for new requests.
13
+ - fix a path-memory-leak in readdir when using the wrappers
14
+ (reported by Thomas L. Shinnick).
15
+ - support a max_idle value of 0.
16
+ - support setting of idle timeout value (eio_set_idle_timeout).
17
+ - readdir: correctly handle malloc failures.
18
+ - readdir: new flags argument, can return inode
19
+ and possibly filetype, can sort in various ways.
20
+ - readdir: stop immediately when cancelled, do
21
+ not continue reading the directory.
22
+ - fix return value of eio_sendfile_sync.
23
+ - include sys/mman.h for msync.
24
+ - added EIO_STACKSIZE.
25
+ - added msync, mtouch support (untested).
26
+ - added sync_file_range (untested).
27
+ - fixed custom support.
28
+ - use a more robust feed-add detection method.
29
+ - "outbundled" from IO::AIO.
30
+ - eio_set_max_polltime did not properly convert time to ticks.
31
+ - tentatively support darwin in sendfile.
32
+ - fix freebsd/darwin sendfile.
33
+ - also use sendfile emulation for ENOTSUP and EOPNOTSUPP
34
+ error codes.
35
+ - add OS-independent EIO_MT_* and EIO_MS_* flag enums.
36
+ - add eio_statvfs/eio_fstatvfs.
37
+ - add eio_mlock/eio_mlockall and OS-independent MCL_* flag enums.
38
+ - no longer set errno to 0 before making syscalls, this only lures
39
+ people into the trap of believing errno shows success or failure.
40
+ - "fix" demo.c so that it works as non-root.
41
+ - suppoert utimes seperately from futimes, as some systems have
42
+ utimes but not futimes.
43
+ - use _POSIX_MEMLOCK_RANGE for mlock.
44
+ - do not (errornously) overwrite CFLAGS in configure.ac.
45
+ - mknod used int3 for dev_t (§2 bit), not offs (64 bit).
46
+ - fix memory corruption in eio_readdirx for the flags
47
+ combination EIO_READDIR_STAT_ORDER | EIO_READDIR_DIRS_FIRST.
48
+ - port to openbsd (another blatantly broken non-UNIX/POSIX platform).
49
+ - fix eio_custom prototype.
50
+ - work around a Linux (and likely FreeBSD and other kernels) bug
51
+ where sendfile would not transfer all the requested bytes on
52
+ large transfers, using a heuristic.
53
+ - use libecb, and apply lots of minor space optimisations.
54
+ - disable sendfile on darwin, broken as everything else.
55
+ - add realpath request and implementation.
56
+ - cancelled requests will still invoke their request callbacks.
57
+ - add fallocate.
58
+ - do not acquire any locks when forking.
59
+ - incorporated some mingw32 changes by traviscline.
60
+ - added syncfs support, using direct syscall.
61
+ - set thread name on linux (ps -L/Hcx, top, gdb).
62
+ - remove useless use of volatile variables.
63
+
@@ -0,0 +1,36 @@
1
+ All files in libeio are Copyright (C)2007,2008 Marc Alexander Lehmann.
2
+
3
+ Redistribution and use in source and binary forms, with or without
4
+ modification, are permitted provided that the following conditions are
5
+ met:
6
+
7
+ * Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+
10
+ * Redistributions in binary form must reproduce the above
11
+ copyright notice, this list of conditions and the following
12
+ disclaimer in the documentation and/or other materials provided
13
+ with the distribution.
14
+
15
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
27
+ Alternatively, the contents of this package may be used under the terms
28
+ of the GNU General Public License ("GPL") version 2 or any later version,
29
+ in which case the provisions of the GPL are applicable instead of the
30
+ above. If you wish to allow the use of your version of this package only
31
+ under the terms of the GPL and not to allow others to use your version of
32
+ this file under the BSD license, indicate your decision by deleting the
33
+ provisions above and replace them with the notice and other provisions
34
+ required by the GPL in this and the other files of this package. If you do
35
+ not delete the provisions above, a recipient may use your version of this
36
+ file under either the BSD or the GPL.
@@ -0,0 +1,15 @@
1
+ AUTOMAKE_OPTIONS = foreign no-dependencies
2
+
3
+ VERSION_INFO = 1:0
4
+
5
+ EXTRA_DIST = LICENSE Changes autogen.sh
6
+
7
+ #man_MANS = ev.3
8
+
9
+ include_HEADERS = eio.h
10
+
11
+ lib_LTLIBRARIES = libeio.la
12
+
13
+ libeio_la_SOURCES = eio.c ecb.h xthread.h config.h
14
+ libeio_la_LDFLAGS = -version-info $(VERSION_INFO)
15
+