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,195 @@
1
+ dnl openbsd in it's neverending brokenness requires stdint.h for intptr_t,
2
+ dnl but that header isn't very portable...
3
+ AC_CHECK_HEADERS([stdint.h sys/syscall.h sys/prctl.h])
4
+
5
+ AC_SEARCH_LIBS(
6
+ pthread_create,
7
+ [pthread pthreads pthreadVC2],
8
+ ,
9
+ [AC_MSG_ERROR(pthread functions not found)]
10
+ )
11
+
12
+ AC_CACHE_CHECK(for utimes, ac_cv_utimes, [AC_LINK_IFELSE([[
13
+ #include <sys/types.h>
14
+ #include <sys/time.h>
15
+ #include <utime.h>
16
+ struct timeval tv[2];
17
+ int res;
18
+ int main (void)
19
+ {
20
+ res = utimes ("/", tv);
21
+ return 0;
22
+ }
23
+ ]],ac_cv_utimes=yes,ac_cv_utimes=no)])
24
+ test $ac_cv_utimes = yes && AC_DEFINE(HAVE_UTIMES, 1, utimes(2) is available)
25
+
26
+ AC_CACHE_CHECK(for futimes, ac_cv_futimes, [AC_LINK_IFELSE([[
27
+ #include <sys/types.h>
28
+ #include <sys/time.h>
29
+ #include <utime.h>
30
+ struct timeval tv[2];
31
+ int res;
32
+ int fd;
33
+ int main (void)
34
+ {
35
+ res = futimes (fd, tv);
36
+ return 0;
37
+ }
38
+ ]],ac_cv_futimes=yes,ac_cv_futimes=no)])
39
+ test $ac_cv_futimes = yes && AC_DEFINE(HAVE_FUTIMES, 1, futimes(2) is available)
40
+
41
+ AC_CACHE_CHECK(for readahead, ac_cv_readahead, [AC_LINK_IFELSE([
42
+ #include <fcntl.h>
43
+ int main (void)
44
+ {
45
+ int fd = 0;
46
+ size_t count = 2;
47
+ ssize_t res;
48
+ res = readahead (fd, 0, count);
49
+ return 0;
50
+ }
51
+ ],ac_cv_readahead=yes,ac_cv_readahead=no)])
52
+ test $ac_cv_readahead = yes && AC_DEFINE(HAVE_READAHEAD, 1, readahead(2) is available (linux))
53
+
54
+ AC_CACHE_CHECK(for fdatasync, ac_cv_fdatasync, [AC_LINK_IFELSE([
55
+ #include <unistd.h>
56
+ int main (void)
57
+ {
58
+ int fd = 0;
59
+ fdatasync (fd);
60
+ return 0;
61
+ }
62
+ ],ac_cv_fdatasync=yes,ac_cv_fdatasync=no)])
63
+ test $ac_cv_fdatasync = yes && AC_DEFINE(HAVE_FDATASYNC, 1, fdatasync(2) is available)
64
+
65
+ AC_CACHE_CHECK(for pread and pwrite, ac_cv_preadwrite, [AC_LINK_IFELSE([
66
+ #include <unistd.h>
67
+ int main (void)
68
+ {
69
+ int fd = 0;
70
+ size_t count = 1;
71
+ char buf;
72
+ off_t offset = 1;
73
+ ssize_t res;
74
+ res = pread (fd, &buf, count, offset);
75
+ res = pwrite (fd, &buf, count, offset);
76
+ return 0;
77
+ }
78
+ ],ac_cv_preadwrite=yes,ac_cv_preadwrite=no)])
79
+ test $ac_cv_preadwrite = yes && AC_DEFINE(HAVE_PREADWRITE, 1, pread(2) and pwrite(2) are available)
80
+
81
+ AC_CACHE_CHECK(for sendfile, ac_cv_sendfile, [AC_LINK_IFELSE([
82
+ # include <sys/types.h>
83
+ #if __linux
84
+ # include <sys/sendfile.h>
85
+ #elif __FreeBSD__ || defined __APPLE__
86
+ # include <sys/socket.h>
87
+ # include <sys/uio.h>
88
+ #elif __hpux
89
+ # include <sys/socket.h>
90
+ #else
91
+ # error unsupported architecture
92
+ #endif
93
+ int main (void)
94
+ {
95
+ int fd = 0;
96
+ off_t offset = 1;
97
+ size_t count = 2;
98
+ ssize_t res;
99
+ #if __linux
100
+ res = sendfile (fd, fd, offset, count);
101
+ #elif __FreeBSD__
102
+ res = sendfile (fd, fd, offset, count, 0, &offset, 0);
103
+ #elif __hpux
104
+ res = sendfile (fd, fd, offset, count, 0, 0);
105
+ #endif
106
+ return 0;
107
+ }
108
+ ],ac_cv_sendfile=yes,ac_cv_sendfile=no)])
109
+ test $ac_cv_sendfile = yes && AC_DEFINE(HAVE_SENDFILE, 1, sendfile(2) is available and supported)
110
+
111
+ AC_CACHE_CHECK(for sync_file_range, ac_cv_sync_file_range, [AC_LINK_IFELSE([
112
+ #include <fcntl.h>
113
+ int main (void)
114
+ {
115
+ int fd = 0;
116
+ off64_t offset = 1;
117
+ off64_t nbytes = 1;
118
+ unsigned int flags = SYNC_FILE_RANGE_WAIT_BEFORE|SYNC_FILE_RANGE_WRITE|SYNC_FILE_RANGE_WAIT_AFTER;
119
+ ssize_t res;
120
+ res = sync_file_range (fd, offset, nbytes, flags);
121
+ return 0;
122
+ }
123
+ ],ac_cv_sync_file_range=yes,ac_cv_sync_file_range=no)])
124
+ test $ac_cv_sync_file_range = yes && AC_DEFINE(HAVE_SYNC_FILE_RANGE, 1, sync_file_range(2) is available)
125
+
126
+ AC_CACHE_CHECK(for fallocate, ac_cv_fallocate, [AC_LINK_IFELSE([
127
+ #include <fcntl.h>
128
+ int main (void)
129
+ {
130
+ int fd = 0;
131
+ int mode = 0;
132
+ off_t offset = 1;
133
+ off_t len = 1;
134
+ int res;
135
+ res = fallocate (fd, mode, offset, len);
136
+ return 0;
137
+ }
138
+ ],ac_cv_fallocate=yes,ac_cv_fallocate=no)])
139
+ test $ac_cv_fallocate = yes && AC_DEFINE(HAVE_FALLOCATE, 1, fallocate(2) is available)
140
+
141
+ AC_CACHE_CHECK(for sys_syncfs, ac_cv_sys_syncfs, [AC_LINK_IFELSE([
142
+ #include <unistd.h>
143
+ #include <sys/syscall.h>
144
+ int main (void)
145
+ {
146
+ int res = syscall (__NR_syncfs, (int)0);
147
+ }
148
+ ],ac_cv_sys_syncfs=yes,ac_cv_sys_syncfs=no)])
149
+ test $ac_cv_sys_syncfs = yes && AC_DEFINE(HAVE_SYS_SYNCFS, 1, syscall(__NR_syncfs) is available)
150
+
151
+ AC_CACHE_CHECK(for prctl_set_name, ac_cv_prctl_set_name, [AC_LINK_IFELSE([
152
+ #include <sys/prctl.h>
153
+ int main (void)
154
+ {
155
+ char name[] = "test123";
156
+ int res = prctl (PR_SET_NAME, (unsigned long)name, 0, 0, 0);
157
+ }
158
+ ],ac_cv_prctl_set_name=yes,ac_cv_prctl_set_name=no)])
159
+ test $ac_cv_prctl_set_name = yes && AC_DEFINE(HAVE_PRCTL_SET_NAME, 1, prctl(PR_SET_NAME) is available)
160
+
161
+ dnl #############################################################################
162
+ dnl # these checks exist for the benefit of IO::AIO
163
+
164
+ dnl at least uclibc defines _POSIX_ADVISORY_INFO without *any* of the required
165
+ dnl functionality actually being present. ugh.
166
+ AC_CACHE_CHECK(for posix_madvise, ac_cv_posix_madvise, [AC_LINK_IFELSE([
167
+ #include <sys/mman.h>
168
+ int main (void)
169
+ {
170
+ int res = posix_madvise ((void *)0, (size_t)0, POSIX_MADV_NORMAL);
171
+ int a = POSIX_MADV_SEQUENTIAL;
172
+ int b = POSIX_MADV_RANDOM;
173
+ int c = POSIX_MADV_WILLNEED;
174
+ int d = POSIX_MADV_DONTNEED;
175
+ return 0;
176
+ }
177
+ ],ac_cv_posix_madvise=yes,ac_cv_posix_madvise=no)])
178
+ test $ac_cv_posix_madvise = yes && AC_DEFINE(HAVE_POSIX_MADVISE, 1, posix_madvise(2) is available)
179
+
180
+ AC_CACHE_CHECK(for posix_fadvise, ac_cv_posix_fadvise, [AC_LINK_IFELSE([
181
+ #define _XOPEN_SOURCE 600
182
+ #include <fcntl.h>
183
+ int main (void)
184
+ {
185
+ int res = posix_fadvise ((int)0, (off_t)0, (off_t)0, POSIX_FADV_NORMAL);
186
+ int a = POSIX_FADV_SEQUENTIAL;
187
+ int b = POSIX_FADV_NOREUSE;
188
+ int c = POSIX_FADV_RANDOM;
189
+ int d = POSIX_FADV_WILLNEED;
190
+ int e = POSIX_FADV_DONTNEED;
191
+ return 0;
192
+ }
193
+ ],ac_cv_posix_fadvise=yes,ac_cv_posix_fadvise=no)])
194
+ test $ac_cv_posix_fadvise = yes && AC_DEFINE(HAVE_POSIX_FADVISE, 1, posix_fadvise(2) is available)
195
+
@@ -0,0 +1,164 @@
1
+ #ifndef XTHREAD_H_
2
+ #define XTHREAD_H_
3
+
4
+ /* whether word reads are potentially non-atomic.
5
+ * this is conservative, likely most arches this runs
6
+ * on have atomic word read/writes.
7
+ */
8
+ #ifndef WORDACCESS_UNSAFE
9
+ # if __i386 || __x86_64
10
+ # define WORDACCESS_UNSAFE 0
11
+ # else
12
+ # define WORDACCESS_UNSAFE 1
13
+ # endif
14
+ #endif
15
+
16
+ /////////////////////////////////////////////////////////////////////////////
17
+
18
+ #ifdef _WIN32
19
+
20
+ #include <stdio.h>//D
21
+ #include <fcntl.h>
22
+ #include <io.h>
23
+ #include <time.h>
24
+ #include <winsock2.h>
25
+ #include <process.h>
26
+ #include <windows.h>
27
+ #include <pthread.h>
28
+ #define sigset_t int
29
+ #define sigfillset(a)
30
+ #define pthread_sigmask(a,b,c)
31
+ #define sigaddset(a,b)
32
+ #define sigemptyset(s)
33
+
34
+ typedef pthread_mutex_t xmutex_t;
35
+ #define X_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
36
+ #define X_MUTEX_CREATE(mutex) pthread_mutex_init (&(mutex), 0)
37
+ #define X_LOCK(mutex) pthread_mutex_lock (&(mutex))
38
+ #define X_UNLOCK(mutex) pthread_mutex_unlock (&(mutex))
39
+
40
+ typedef pthread_cond_t xcond_t;
41
+ #define X_COND_INIT PTHREAD_COND_INITIALIZER
42
+ #define X_COND_CREATE(cond) pthread_cond_init (&(cond), 0)
43
+ #define X_COND_SIGNAL(cond) pthread_cond_signal (&(cond))
44
+ #define X_COND_WAIT(cond,mutex) pthread_cond_wait (&(cond), &(mutex))
45
+ #define X_COND_TIMEDWAIT(cond,mutex,to) pthread_cond_timedwait (&(cond), &(mutex), &(to))
46
+
47
+ typedef pthread_t xthread_t;
48
+ #define X_THREAD_PROC(name) void *name (void *thr_arg)
49
+ #define X_THREAD_ATFORK(a,b,c)
50
+
51
+ static int
52
+ thread_create (xthread_t *tid, void *(*proc)(void *), void *arg)
53
+ {
54
+ int retval;
55
+ pthread_attr_t attr;
56
+
57
+ pthread_attr_init (&attr);
58
+ pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
59
+
60
+ retval = pthread_create (tid, &attr, proc, arg) == 0;
61
+
62
+ pthread_attr_destroy (&attr);
63
+
64
+ return retval;
65
+ }
66
+
67
+ #define respipe_read(a,b,c) PerlSock_recv ((a), (b), (c), 0)
68
+ #define respipe_write(a,b,c) send ((a), (b), (c), 0)
69
+ #define respipe_close(a) PerlSock_closesocket ((a))
70
+
71
+ #else
72
+ /////////////////////////////////////////////////////////////////////////////
73
+
74
+ #if __linux && !defined(_GNU_SOURCE)
75
+ # define _GNU_SOURCE
76
+ #endif
77
+
78
+ /* just in case */
79
+ #define _REENTRANT 1
80
+
81
+ #if __solaris
82
+ # define _POSIX_PTHREAD_SEMANTICS 1
83
+ /* try to bribe solaris headers into providing a current pthread API
84
+ * despite environment being configured for an older version.
85
+ */
86
+ # define __EXTENSIONS__ 1
87
+ #endif
88
+
89
+ #include <unistd.h>
90
+ #include <fcntl.h>
91
+ #include <signal.h>
92
+ #include <limits.h>
93
+ #include <pthread.h>
94
+
95
+ typedef pthread_mutex_t xmutex_t;
96
+ #if __linux && defined (PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP)
97
+ # define X_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
98
+ # define X_MUTEX_CREATE(mutex) \
99
+ do { \
100
+ pthread_mutexattr_t attr; \
101
+ pthread_mutexattr_init (&attr); \
102
+ pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_ADAPTIVE_NP); \
103
+ pthread_mutex_init (&(mutex), &attr); \
104
+ } while (0)
105
+ #else
106
+ # define X_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
107
+ # define X_MUTEX_CREATE(mutex) pthread_mutex_init (&(mutex), 0)
108
+ #endif
109
+ #define X_LOCK(mutex) pthread_mutex_lock (&(mutex))
110
+ #define X_UNLOCK(mutex) pthread_mutex_unlock (&(mutex))
111
+
112
+ typedef pthread_cond_t xcond_t;
113
+ #define X_COND_INIT PTHREAD_COND_INITIALIZER
114
+ #define X_COND_CREATE(cond) pthread_cond_init (&(cond), 0)
115
+ #define X_COND_SIGNAL(cond) pthread_cond_signal (&(cond))
116
+ #define X_COND_WAIT(cond,mutex) pthread_cond_wait (&(cond), &(mutex))
117
+ #define X_COND_TIMEDWAIT(cond,mutex,to) pthread_cond_timedwait (&(cond), &(mutex), &(to))
118
+
119
+ typedef pthread_t xthread_t;
120
+ #define X_THREAD_PROC(name) static void *name (void *thr_arg)
121
+ #define X_THREAD_ATFORK(prepare,parent,child) pthread_atfork (prepare, parent, child)
122
+
123
+ // the broken bsd's once more
124
+ #ifndef PTHREAD_STACK_MIN
125
+ # define PTHREAD_STACK_MIN 0
126
+ #endif
127
+
128
+ #ifndef XTHREAD_STACKSIZE
129
+ # define XTHREAD_STACKSIZE sizeof (void *) * 4096
130
+ #endif
131
+
132
+ static int
133
+ thread_create (xthread_t *tid, void *(*proc)(void *), void *arg)
134
+ {
135
+ int retval;
136
+ sigset_t fullsigset, oldsigset;
137
+ pthread_attr_t attr;
138
+
139
+ pthread_attr_init (&attr);
140
+ pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
141
+ pthread_attr_setstacksize (&attr, PTHREAD_STACK_MIN < X_STACKSIZE ? X_STACKSIZE : PTHREAD_STACK_MIN);
142
+ #ifdef PTHREAD_SCOPE_PROCESS
143
+ pthread_attr_setscope (&attr, PTHREAD_SCOPE_PROCESS);
144
+ #endif
145
+
146
+ sigfillset (&fullsigset);
147
+
148
+ pthread_sigmask (SIG_SETMASK, &fullsigset, &oldsigset);
149
+ retval = pthread_create (tid, &attr, proc, arg) == 0;
150
+ pthread_sigmask (SIG_SETMASK, &oldsigset, 0);
151
+
152
+ pthread_attr_destroy (&attr);
153
+
154
+ return retval;
155
+ }
156
+
157
+ #define respipe_read(a,b,c) read ((a), (b), (c))
158
+ #define respipe_write(a,b,c) write ((a), (b), (c))
159
+ #define respipe_close(a) close ((a))
160
+
161
+ #endif
162
+
163
+ #endif
164
+
@@ -0,0 +1,98 @@
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
+ /*
23
+ * TODO Share this code with Windows.
24
+ * See https://github.com/joyent/libuv/issues/76
25
+ */
26
+
27
+ #include "uv.h"
28
+ #include "internal.h"
29
+
30
+ #include <errno.h>
31
+ #include <stdio.h>
32
+ #include <stdlib.h>
33
+ #include <string.h>
34
+ #include <assert.h>
35
+
36
+
37
+ /* TODO Expose callback to user to handle fatal error like V8 does. */
38
+ void uv_fatal_error(const int errorno, const char* syscall) {
39
+ char* buf = NULL;
40
+ const char* errmsg;
41
+
42
+ if (buf) {
43
+ errmsg = buf;
44
+ } else {
45
+ errmsg = "Unknown error";
46
+ }
47
+
48
+ if (syscall) {
49
+ fprintf(stderr, "\nlibuv fatal error. %s: (%d) %s\n", syscall, errorno,
50
+ errmsg);
51
+ } else {
52
+ fprintf(stderr, "\nlibuv fatal error. (%d) %s\n", errorno, errmsg);
53
+ }
54
+
55
+ abort();
56
+ }
57
+
58
+
59
+ uv_err_code uv_translate_sys_error(int sys_errno) {
60
+ switch (sys_errno) {
61
+ case 0: return UV_OK;
62
+ case EPERM: return UV_EPERM;
63
+ case ENOSYS: return UV_ENOSYS;
64
+ case ENOTSOCK: return UV_ENOTSOCK;
65
+ case ENOENT: return UV_ENOENT;
66
+ case EACCES: return UV_EACCES;
67
+ case EAFNOSUPPORT: return UV_EAFNOSUPPORT;
68
+ case EBADF: return UV_EBADF;
69
+ case EPIPE: return UV_EPIPE;
70
+ case EAGAIN: return UV_EAGAIN;
71
+ case ECONNRESET: return UV_ECONNRESET;
72
+ case EFAULT: return UV_EFAULT;
73
+ case EMFILE: return UV_EMFILE;
74
+ case EMSGSIZE: return UV_EMSGSIZE;
75
+ case ENAMETOOLONG: return UV_ENAMETOOLONG;
76
+ case EINVAL: return UV_EINVAL;
77
+ case ENETUNREACH: return UV_ENETUNREACH;
78
+ case ECONNABORTED: return UV_ECONNABORTED;
79
+ case ELOOP: return UV_ELOOP;
80
+ case ECONNREFUSED: return UV_ECONNREFUSED;
81
+ case EADDRINUSE: return UV_EADDRINUSE;
82
+ case EADDRNOTAVAIL: return UV_EADDRNOTAVAIL;
83
+ case ENOTDIR: return UV_ENOTDIR;
84
+ case EISDIR: return UV_EISDIR;
85
+ case ENOTCONN: return UV_ENOTCONN;
86
+ case EEXIST: return UV_EEXIST;
87
+ case EHOSTUNREACH: return UV_EHOSTUNREACH;
88
+ case EAI_NONAME: return UV_ENOENT;
89
+ case ESRCH: return UV_ESRCH;
90
+ case ETIMEDOUT: return UV_ETIMEDOUT;
91
+ case EXDEV: return UV_EXDEV;
92
+ case EBUSY: return UV_EBUSY;
93
+ case ENOTEMPTY: return UV_ENOTEMPTY;
94
+ case ENOSPC: return UV_ENOSPC;
95
+ default: return UV_UNKNOWN;
96
+ }
97
+ UNREACHABLE();
98
+ }