noderb 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (361) hide show
  1. data/ext/noderb_extension/libuv/AUTHORS +11 -1
  2. data/ext/noderb_extension/libuv/LICENSE +0 -8
  3. data/ext/noderb_extension/libuv/Makefile +5 -5
  4. data/ext/noderb_extension/libuv/README +11 -6
  5. data/ext/noderb_extension/libuv/common.gypi +158 -7
  6. data/ext/noderb_extension/libuv/config-unix.mk +34 -26
  7. data/ext/noderb_extension/libuv/gyp_uv +22 -4
  8. data/ext/noderb_extension/libuv/include/{eio.h → uv-private/eio.h} +2 -2
  9. data/ext/noderb_extension/libuv/include/{uv-unix.h → uv-private/uv-unix.h} +40 -0
  10. data/ext/noderb_extension/libuv/include/{uv-win.h → uv-private/uv-win.h} +96 -14
  11. data/ext/noderb_extension/libuv/include/uv.h +508 -83
  12. data/ext/noderb_extension/libuv/src/unix/cares.c +185 -0
  13. data/ext/noderb_extension/libuv/src/unix/core.c +828 -0
  14. data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_darwin.h +4 -0
  15. data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_linux.h +5 -15
  16. data/ext/noderb_extension/libuv/src/{eio → unix/eio}/eio.c +23 -2
  17. data/ext/noderb_extension/libuv/src/unix/error.c +102 -0
  18. data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_linux.h +26 -15
  19. data/ext/noderb_extension/libuv/src/unix/fs.c +562 -0
  20. data/ext/noderb_extension/libuv/src/unix/internal.h +75 -0
  21. data/ext/noderb_extension/libuv/src/unix/pipe.c +282 -0
  22. data/ext/noderb_extension/libuv/src/unix/process.c +287 -0
  23. data/ext/noderb_extension/libuv/src/unix/stream.c +727 -0
  24. data/ext/noderb_extension/libuv/src/unix/tcp.c +226 -0
  25. data/ext/noderb_extension/libuv/src/unix/udp.c +524 -0
  26. data/ext/noderb_extension/libuv/src/{uv-eio.c → unix/uv-eio.c} +48 -27
  27. data/ext/noderb_extension/libuv/src/{uv-eio.h → unix/uv-eio.h} +1 -1
  28. data/ext/noderb_extension/libuv/src/uv-common.c +24 -14
  29. data/ext/noderb_extension/libuv/src/uv-common.h +12 -7
  30. data/ext/noderb_extension/libuv/src/win/async.c +14 -16
  31. data/ext/noderb_extension/libuv/src/win/cares.c +64 -79
  32. data/ext/noderb_extension/libuv/src/win/core.c +105 -53
  33. data/ext/noderb_extension/libuv/src/win/error.c +23 -13
  34. data/ext/noderb_extension/libuv/src/win/fs.c +807 -0
  35. data/ext/noderb_extension/libuv/src/win/getaddrinfo.c +61 -41
  36. data/ext/noderb_extension/libuv/src/win/handle.c +56 -30
  37. data/ext/noderb_extension/libuv/src/win/internal.h +134 -95
  38. data/ext/noderb_extension/libuv/src/win/loop-watcher.c +21 -18
  39. data/ext/noderb_extension/libuv/src/win/pipe.c +313 -158
  40. data/ext/noderb_extension/libuv/src/win/process.c +117 -131
  41. data/ext/noderb_extension/libuv/src/win/req.c +55 -31
  42. data/ext/noderb_extension/libuv/src/win/stdio.c +5 -5
  43. data/ext/noderb_extension/libuv/src/win/stream.c +19 -14
  44. data/ext/noderb_extension/libuv/src/win/tcp.c +278 -336
  45. data/ext/noderb_extension/libuv/src/win/threadpool.c +73 -0
  46. data/ext/noderb_extension/libuv/src/win/timer.c +44 -37
  47. data/ext/noderb_extension/libuv/src/win/udp.c +592 -0
  48. data/ext/noderb_extension/libuv/src/win/util.c +20 -6
  49. data/ext/noderb_extension/libuv/src/win/winapi.c +23 -6
  50. data/ext/noderb_extension/libuv/src/win/winapi.h +4206 -0
  51. data/ext/noderb_extension/libuv/src/win/winsock.c +270 -0
  52. data/ext/noderb_extension/libuv/src/win/winsock.h +134 -0
  53. data/ext/noderb_extension/libuv/test/benchmark-ares.c +10 -6
  54. data/ext/noderb_extension/libuv/test/benchmark-getaddrinfo.c +10 -7
  55. data/ext/noderb_extension/libuv/test/benchmark-list.h +21 -0
  56. data/ext/noderb_extension/libuv/test/benchmark-ping-pongs.c +11 -7
  57. data/ext/noderb_extension/libuv/test/benchmark-pound.c +147 -58
  58. data/ext/noderb_extension/libuv/test/benchmark-pump.c +29 -23
  59. data/ext/noderb_extension/libuv/test/benchmark-spawn.c +13 -10
  60. data/ext/noderb_extension/libuv/test/benchmark-udp-packet-storm.c +250 -0
  61. data/ext/noderb_extension/libuv/test/dns-server.c +11 -6
  62. data/ext/noderb_extension/libuv/test/echo-server.c +30 -22
  63. data/ext/noderb_extension/libuv/test/test-async.c +3 -3
  64. data/ext/noderb_extension/libuv/test/test-callback-stack.c +6 -6
  65. data/ext/noderb_extension/libuv/test/test-connection-fail.c +6 -5
  66. data/ext/noderb_extension/libuv/test/test-delayed-accept.c +13 -13
  67. data/ext/noderb_extension/libuv/test/test-fs.c +715 -0
  68. data/ext/noderb_extension/libuv/test/test-getaddrinfo.c +11 -8
  69. data/ext/noderb_extension/libuv/test/test-gethostbyname.c +8 -9
  70. data/ext/noderb_extension/libuv/test/test-getsockname.c +142 -16
  71. data/ext/noderb_extension/libuv/test/test-idle.c +4 -3
  72. data/ext/noderb_extension/libuv/test/test-list.h +29 -2
  73. data/ext/noderb_extension/libuv/test/test-loop-handles.c +9 -8
  74. data/ext/noderb_extension/libuv/test/test-ping-pong.c +9 -9
  75. data/ext/noderb_extension/libuv/test/test-pipe-bind-error.c +18 -14
  76. data/ext/noderb_extension/libuv/test/test-ref.c +17 -16
  77. data/ext/noderb_extension/libuv/test/test-shutdown-eof.c +5 -5
  78. data/ext/noderb_extension/libuv/test/test-spawn.c +17 -17
  79. data/ext/noderb_extension/libuv/test/test-tcp-bind-error.c +24 -18
  80. data/ext/noderb_extension/libuv/test/test-tcp-bind6-error.c +19 -14
  81. data/ext/noderb_extension/libuv/test/test-tcp-writealot.c +6 -5
  82. data/ext/noderb_extension/libuv/test/test-threadpool.c +59 -0
  83. data/ext/noderb_extension/libuv/test/test-timer-again.c +15 -12
  84. data/ext/noderb_extension/libuv/test/test-timer.c +8 -8
  85. data/ext/noderb_extension/libuv/test/test-udp-dgram-too-big.c +88 -0
  86. data/ext/noderb_extension/libuv/test/test-udp-ipv6.c +158 -0
  87. data/ext/noderb_extension/libuv/test/test-udp-send-and-recv.c +210 -0
  88. data/ext/noderb_extension/libuv/{all.gyp → uv.gyp} +75 -77
  89. data/ext/noderb_extension/libuv/vcbuild.bat +93 -0
  90. data/ext/noderb_extension/noderb.c +13 -0
  91. data/ext/noderb_extension/noderb_common.h +2 -1
  92. data/ext/noderb_extension/noderb_defer.c +54 -0
  93. data/ext/noderb_extension/noderb_defer.h +15 -0
  94. data/ext/noderb_extension/noderb_dns.c +1 -1
  95. data/ext/noderb_extension/noderb_fs.c +277 -0
  96. data/ext/noderb_extension/noderb_fs.h +27 -0
  97. data/ext/noderb_extension/noderb_process.c +5 -5
  98. data/ext/noderb_extension/noderb_tcp.c +10 -6
  99. data/ext/noderb_extension/noderb_timers.c +1 -1
  100. data/ext/noderb_extension/noderb_tools.c +42 -8
  101. data/ext/noderb_extension/noderb_tools.h +3 -1
  102. data/lib/noderb/defer.rb +25 -0
  103. data/lib/noderb/file.rb +119 -0
  104. data/lib/noderb/fs.rb +72 -0
  105. data/lib/noderb/version.rb +1 -1
  106. data/lib/noderb.rb +8 -0
  107. metadata +102 -266
  108. data/ext/noderb_extension/libuv/BSDmakefile +0 -2
  109. data/ext/noderb_extension/libuv/create-msvs-files.bat +0 -21
  110. data/ext/noderb_extension/libuv/deps/pthread-win32/ANNOUNCE +0 -482
  111. data/ext/noderb_extension/libuv/deps/pthread-win32/BUGS +0 -141
  112. data/ext/noderb_extension/libuv/deps/pthread-win32/Bmakefile +0 -268
  113. data/ext/noderb_extension/libuv/deps/pthread-win32/CONTRIBUTORS +0 -140
  114. data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING +0 -150
  115. data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING.LIB +0 -504
  116. data/ext/noderb_extension/libuv/deps/pthread-win32/ChangeLog +0 -5194
  117. data/ext/noderb_extension/libuv/deps/pthread-win32/FAQ +0 -451
  118. data/ext/noderb_extension/libuv/deps/pthread-win32/GNUmakefile +0 -593
  119. data/ext/noderb_extension/libuv/deps/pthread-win32/MAINTAINERS +0 -4
  120. data/ext/noderb_extension/libuv/deps/pthread-win32/Makefile +0 -516
  121. data/ext/noderb_extension/libuv/deps/pthread-win32/NEWS +0 -1245
  122. data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile +0 -24
  123. data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile.tests +0 -260
  124. data/ext/noderb_extension/libuv/deps/pthread-win32/PROGRESS +0 -4
  125. data/ext/noderb_extension/libuv/deps/pthread-win32/README +0 -601
  126. data/ext/noderb_extension/libuv/deps/pthread-win32/README.Borland +0 -57
  127. data/ext/noderb_extension/libuv/deps/pthread-win32/README.CV +0 -3036
  128. data/ext/noderb_extension/libuv/deps/pthread-win32/README.NONPORTABLE +0 -783
  129. data/ext/noderb_extension/libuv/deps/pthread-win32/README.Watcom +0 -62
  130. data/ext/noderb_extension/libuv/deps/pthread-win32/README.WinCE +0 -6
  131. data/ext/noderb_extension/libuv/deps/pthread-win32/TODO +0 -7
  132. data/ext/noderb_extension/libuv/deps/pthread-win32/WinCE-PORT +0 -222
  133. data/ext/noderb_extension/libuv/deps/pthread-win32/attr.c +0 -53
  134. data/ext/noderb_extension/libuv/deps/pthread-win32/autostatic.c +0 -69
  135. data/ext/noderb_extension/libuv/deps/pthread-win32/barrier.c +0 -47
  136. data/ext/noderb_extension/libuv/deps/pthread-win32/build/all.gyp +0 -207
  137. data/ext/noderb_extension/libuv/deps/pthread-win32/builddmc.bat +0 -9
  138. data/ext/noderb_extension/libuv/deps/pthread-win32/cancel.c +0 -44
  139. data/ext/noderb_extension/libuv/deps/pthread-win32/cleanup.c +0 -148
  140. data/ext/noderb_extension/libuv/deps/pthread-win32/condvar.c +0 -50
  141. data/ext/noderb_extension/libuv/deps/pthread-win32/config.h +0 -153
  142. data/ext/noderb_extension/libuv/deps/pthread-win32/context.h +0 -74
  143. data/ext/noderb_extension/libuv/deps/pthread-win32/create.c +0 -308
  144. data/ext/noderb_extension/libuv/deps/pthread-win32/dll.c +0 -92
  145. data/ext/noderb_extension/libuv/deps/pthread-win32/errno.c +0 -94
  146. data/ext/noderb_extension/libuv/deps/pthread-win32/exit.c +0 -44
  147. data/ext/noderb_extension/libuv/deps/pthread-win32/fork.c +0 -39
  148. data/ext/noderb_extension/libuv/deps/pthread-win32/global.c +0 -107
  149. data/ext/noderb_extension/libuv/deps/pthread-win32/implement.h +0 -944
  150. data/ext/noderb_extension/libuv/deps/pthread-win32/misc.c +0 -50
  151. data/ext/noderb_extension/libuv/deps/pthread-win32/mutex.c +0 -62
  152. data/ext/noderb_extension/libuv/deps/pthread-win32/need_errno.h +0 -145
  153. data/ext/noderb_extension/libuv/deps/pthread-win32/nonportable.c +0 -47
  154. data/ext/noderb_extension/libuv/deps/pthread-win32/private.c +0 -54
  155. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.c +0 -66
  156. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsp +0 -142
  157. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsw +0 -29
  158. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.h +0 -1368
  159. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_destroy.c +0 -79
  160. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getdetachstate.c +0 -86
  161. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getinheritsched.c +0 -51
  162. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedparam.c +0 -52
  163. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedpolicy.c +0 -61
  164. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getscope.c +0 -54
  165. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstackaddr.c +0 -97
  166. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstacksize.c +0 -100
  167. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_init.c +0 -117
  168. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setdetachstate.c +0 -91
  169. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setinheritsched.c +0 -57
  170. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedparam.c +0 -63
  171. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedpolicy.c +0 -55
  172. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setscope.c +0 -62
  173. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstackaddr.c +0 -97
  174. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstacksize.c +0 -110
  175. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_destroy.c +0 -103
  176. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_init.c +0 -69
  177. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_wait.c +0 -104
  178. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_destroy.c +0 -83
  179. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_getpshared.c +0 -95
  180. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_init.c +0 -85
  181. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_setpshared.c +0 -119
  182. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cancel.c +0 -189
  183. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_destroy.c +0 -253
  184. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_init.c +0 -167
  185. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_signal.c +0 -231
  186. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_wait.c +0 -567
  187. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_destroy.c +0 -86
  188. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_getpshared.c +0 -97
  189. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_init.c +0 -87
  190. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_setpshared.c +0 -117
  191. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_delay_np.c +0 -172
  192. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_detach.c +0 -136
  193. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_equal.c +0 -76
  194. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_exit.c +0 -106
  195. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getconcurrency.c +0 -45
  196. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getschedparam.c +0 -75
  197. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getspecific.c +0 -87
  198. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getunique_np.c +0 -47
  199. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getw32threadhandle_np.c +0 -65
  200. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_join.c +0 -157
  201. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_create.c +0 -108
  202. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_delete.c +0 -125
  203. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_kill.c +0 -105
  204. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_consistent.c +0 -187
  205. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_destroy.c +0 -148
  206. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_init.c +0 -130
  207. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_lock.c +0 -269
  208. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_timedlock.c +0 -324
  209. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_trylock.c +0 -154
  210. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_unlock.c +0 -175
  211. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_destroy.c +0 -83
  212. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getkind_np.c +0 -44
  213. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getpshared.c +0 -95
  214. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getrobust.c +0 -113
  215. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_gettype.c +0 -56
  216. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_init.c +0 -86
  217. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setkind_np.c +0 -44
  218. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setpshared.c +0 -119
  219. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setrobust.c +0 -119
  220. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_settype.c +0 -143
  221. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_num_processors_np.c +0 -56
  222. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_once.c +0 -79
  223. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_destroy.c +0 -143
  224. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_init.c +0 -109
  225. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_rdlock.c +0 -102
  226. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedrdlock.c +0 -109
  227. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedwrlock.c +0 -139
  228. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_tryrdlock.c +0 -102
  229. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_trywrlock.c +0 -122
  230. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_unlock.c +0 -93
  231. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_wrlock.c +0 -133
  232. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_destroy.c +0 -84
  233. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_getpshared.c +0 -97
  234. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_init.c +0 -83
  235. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_setpshared.c +0 -120
  236. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_self.c +0 -141
  237. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcancelstate.c +0 -125
  238. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcanceltype.c +0 -126
  239. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setconcurrency.c +0 -53
  240. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setschedparam.c +0 -123
  241. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setspecific.c +0 -167
  242. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_destroy.c +0 -111
  243. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_init.c +0 -123
  244. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_lock.c +0 -80
  245. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_trylock.c +0 -77
  246. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_unlock.c +0 -71
  247. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_testcancel.c +0 -103
  248. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_timechange_handler_np.c +0 -108
  249. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_win32_attach_detach_np.c +0 -258
  250. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_MCS_lock.c +0 -278
  251. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_callUserDestroyRoutines.c +0 -232
  252. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_calloc.c +0 -56
  253. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_cond_check_need_init.c +0 -78
  254. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_getprocessors.c +0 -91
  255. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_is_attr.c +0 -47
  256. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_mutex_check_need_init.c +0 -92
  257. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_new.c +0 -94
  258. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processInitialize.c +0 -92
  259. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processTerminate.c +0 -105
  260. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_relmillisecs.c +0 -132
  261. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_reuse.c +0 -151
  262. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_cancelwrwait.c +0 -50
  263. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_check_need_init.c +0 -77
  264. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_semwait.c +0 -135
  265. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_spinlock_check_need_init.c +0 -78
  266. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadDestroy.c +0 -79
  267. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadStart.c +0 -357
  268. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_throw.c +0 -189
  269. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_timespec.c +0 -83
  270. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocCreate.c +0 -118
  271. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocDestroy.c +0 -114
  272. data/ext/noderb_extension/libuv/deps/pthread-win32/rwlock.c +0 -51
  273. data/ext/noderb_extension/libuv/deps/pthread-win32/sched.c +0 -53
  274. data/ext/noderb_extension/libuv/deps/pthread-win32/sched.h +0 -183
  275. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_max.c +0 -134
  276. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_min.c +0 -135
  277. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_getscheduler.c +0 -71
  278. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_setscheduler.c +0 -83
  279. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_yield.c +0 -71
  280. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_close.c +0 -58
  281. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_destroy.c +0 -144
  282. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_getvalue.c +0 -110
  283. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_init.c +0 -169
  284. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_open.c +0 -58
  285. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post.c +0 -128
  286. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post_multiple.c +0 -142
  287. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_timedwait.c +0 -238
  288. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_trywait.c +0 -117
  289. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_unlink.c +0 -58
  290. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_wait.c +0 -187
  291. data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.c +0 -69
  292. data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.h +0 -169
  293. data/ext/noderb_extension/libuv/deps/pthread-win32/signal.c +0 -179
  294. data/ext/noderb_extension/libuv/deps/pthread-win32/spin.c +0 -46
  295. data/ext/noderb_extension/libuv/deps/pthread-win32/sync.c +0 -43
  296. data/ext/noderb_extension/libuv/deps/pthread-win32/tsd.c +0 -44
  297. data/ext/noderb_extension/libuv/deps/pthread-win32/version.rc +0 -388
  298. data/ext/noderb_extension/libuv/deps/pthread-win32/w32_CancelableWait.c +0 -161
  299. data/ext/noderb_extension/libuv/doc/iocp-links.html +0 -574
  300. data/ext/noderb_extension/libuv/src/uv-unix.c +0 -2421
  301. data/ext/noderb_extension/libuv/src/win/ntdll.h +0 -130
  302. /data/ext/noderb_extension/libuv/include/{ev.h → uv-private/ev.h} +0 -0
  303. /data/ext/noderb_extension/libuv/include/{ngx-queue.h → uv-private/ngx-queue.h} +0 -0
  304. /data/ext/noderb_extension/libuv/include/{tree.h → uv-private/tree.h} +0 -0
  305. /data/ext/noderb_extension/libuv/src/{uv-cygwin.c → unix/cygwin.c} +0 -0
  306. /data/ext/noderb_extension/libuv/src/{uv-darwin.c → unix/darwin.c} +0 -0
  307. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/Changes +0 -0
  308. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/LICENSE +0 -0
  309. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/Makefile.am +0 -0
  310. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/aclocal.m4 +0 -0
  311. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/autogen.sh +0 -0
  312. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config.h.in +0 -0
  313. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_cygwin.h +0 -0
  314. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_freebsd.h +0 -0
  315. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_sunos.h +0 -0
  316. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/configure.ac +0 -0
  317. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/demo.c +0 -0
  318. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/ecb.h +0 -0
  319. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/eio.3 +0 -0
  320. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/eio.pod +0 -0
  321. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/libeio.m4 +0 -0
  322. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/xthread.h +0 -0
  323. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/Changes +0 -0
  324. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/LICENSE +0 -0
  325. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/Makefile.am +0 -0
  326. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/Makefile.in +0 -0
  327. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/README +0 -0
  328. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/aclocal.m4 +0 -0
  329. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/autogen.sh +0 -0
  330. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config.guess +0 -0
  331. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config.h.in +0 -0
  332. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config.sub +0 -0
  333. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_cygwin.h +0 -0
  334. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_darwin.h +0 -0
  335. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_freebsd.h +0 -0
  336. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_sunos.h +0 -0
  337. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/configure +0 -0
  338. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/configure.ac +0 -0
  339. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/depcomp +0 -0
  340. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev++.h +0 -0
  341. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev.3 +0 -0
  342. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev.c +0 -0
  343. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev.pod +0 -0
  344. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_epoll.c +0 -0
  345. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_kqueue.c +0 -0
  346. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_poll.c +0 -0
  347. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_port.c +0 -0
  348. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_select.c +0 -0
  349. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_vars.h +0 -0
  350. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_win32.c +0 -0
  351. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_wrap.h +0 -0
  352. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/event.c +0 -0
  353. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/event.h +0 -0
  354. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/install-sh +0 -0
  355. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/libev.m4 +0 -0
  356. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ltmain.sh +0 -0
  357. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/missing +0 -0
  358. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/mkinstalldirs +0 -0
  359. /data/ext/noderb_extension/libuv/src/{uv-freebsd.c → unix/freebsd.c} +0 -0
  360. /data/ext/noderb_extension/libuv/src/{uv-linux.c → unix/linux.c} +0 -0
  361. /data/ext/noderb_extension/libuv/src/{uv-sunos.c → unix/sunos.c} +0 -0
@@ -69,14 +69,16 @@ TEST_IMPL(getaddrinfo_basic) {
69
69
 
70
70
  uv_init();
71
71
 
72
- r = uv_getaddrinfo(&getaddrinfo_handle,
72
+
73
+ r = uv_getaddrinfo(uv_default_loop(),
74
+ &getaddrinfo_handle,
73
75
  &getaddrinfo_basic_cb,
74
76
  name,
75
77
  NULL,
76
78
  NULL);
77
79
  ASSERT(r == 0);
78
80
 
79
- uv_run();
81
+ uv_run(uv_default_loop());
80
82
 
81
83
  ASSERT(getaddrinfo_cbs == 1);
82
84
 
@@ -92,15 +94,16 @@ TEST_IMPL(getaddrinfo_concurrent) {
92
94
  for (i = 0; i < CONCURRENT_COUNT; i++) {
93
95
  callback_counts[i] = 0;
94
96
 
95
- r = uv_getaddrinfo(&getaddrinfo_handles[i],
96
- &getaddrinfo_cuncurrent_cb,
97
- name,
98
- NULL,
99
- NULL);
97
+ r = uv_getaddrinfo(uv_default_loop(),
98
+ &getaddrinfo_handles[i],
99
+ &getaddrinfo_cuncurrent_cb,
100
+ name,
101
+ NULL,
102
+ NULL);
100
103
  ASSERT(r == 0);
101
104
  }
102
105
 
103
- uv_run();
106
+ uv_run(uv_default_loop());
104
107
 
105
108
  for (i = 0; i < CONCURRENT_COUNT; i++) {
106
109
  ASSERT(callback_counts[i] == 1);
@@ -74,8 +74,7 @@ static void prep_tcploopback() {
74
74
  options.tcp_port = htons(TEST_PORT);
75
75
  options.flags = ARES_FLAG_USEVC;
76
76
 
77
- rc = uv_ares_init_options(&channel, &options, optmask);
78
-
77
+ rc = uv_ares_init_options(uv_default_loop(), &channel, &options, optmask);
79
78
  ASSERT(rc == ARES_SUCCESS);
80
79
  }
81
80
 
@@ -104,11 +103,11 @@ TEST_IMPL(gethostbyname) {
104
103
  AF_INET,
105
104
  &aresbynamecallback,
106
105
  &bynamecallbacksig);
107
- uv_run();
106
+ uv_run(uv_default_loop());
108
107
 
109
108
  ASSERT(ares_bynamecallbacks == 1);
110
109
 
111
- uv_ares_destroy(channel);
110
+ uv_ares_destroy(uv_default_loop(), channel);
112
111
  printf("Done basic gethostbyname test\n");
113
112
 
114
113
 
@@ -125,7 +124,7 @@ TEST_IMPL(gethostbyname) {
125
124
  AF_INET,
126
125
  &aresbynamecallback,
127
126
  &bynamecallbacksig);
128
- uv_run();
127
+ uv_run(uv_default_loop());
129
128
 
130
129
  ASSERT(ares_bynamecallbacks == 1);
131
130
 
@@ -143,11 +142,11 @@ TEST_IMPL(gethostbyname) {
143
142
  &aresbyaddrcallback,
144
143
  &byaddrcallbacksig);
145
144
 
146
- uv_run();
145
+ uv_run(uv_default_loop());
147
146
 
148
147
  ASSERT(ares_byaddrcallbacks == 1);
149
148
 
150
- uv_ares_destroy(channel);
149
+ uv_ares_destroy(uv_default_loop(), channel);
151
150
  printf("Done gethostbyname and gethostbyaddr sequential test\n");
152
151
 
153
152
 
@@ -179,13 +178,13 @@ TEST_IMPL(gethostbyname) {
179
178
  &aresbyaddrcallback,
180
179
  &byaddrcallbacksig);
181
180
 
182
- uv_run();
181
+ uv_run(uv_default_loop());
183
182
 
184
183
  ASSERT(ares_bynamecallbacks == 1);
185
184
  ASSERT(ares_byaddrcallbacks == 1);
186
185
 
187
186
 
188
- uv_ares_destroy(channel);
187
+ uv_ares_destroy(uv_default_loop(), channel);
189
188
  printf("Done gethostbyname and gethostbyaddr concurrent test\n");
190
189
 
191
190
  return 0;
@@ -22,18 +22,23 @@
22
22
  #include "uv.h"
23
23
  #include "task.h"
24
24
 
25
- #include <stdlib.h>
26
25
  #include <stdio.h>
26
+ #include <stdlib.h>
27
+ #include <string.h>
27
28
 
28
- static int getsocknamecount = 0;
29
29
 
30
+ static int getsocknamecount = 0;
30
31
 
32
+ static uv_loop_t* loop;
31
33
  static uv_tcp_t tcp;
34
+ static uv_udp_t udp;
32
35
  static uv_connect_t connect_req;
33
36
  static uv_tcp_t tcpServer;
37
+ static uv_udp_t udpServer;
38
+ static uv_udp_send_t send_req;
34
39
 
35
40
 
36
- static uv_buf_t alloc(uv_stream_t* handle, size_t suggested_size) {
41
+ static uv_buf_t alloc(uv_handle_t* handle, size_t suggested_size) {
37
42
  uv_buf_t buf;
38
43
  buf.base = (char*) malloc(suggested_size);
39
44
  buf.len = suggested_size;
@@ -74,14 +79,15 @@ static void on_connection(uv_stream_t* server, int status) {
74
79
  int r;
75
80
 
76
81
  if (status != 0) {
77
- fprintf(stderr, "Connect error %d\n", uv_last_error().code);
82
+ fprintf(stderr, "Connect error %d\n",
83
+ uv_last_error(loop).code);
78
84
  }
79
85
  ASSERT(status == 0);
80
86
 
81
87
  handle = (uv_handle_t*) malloc(sizeof(uv_tcp_t));
82
88
  ASSERT(handle != NULL);
83
89
 
84
- uv_tcp_init((uv_tcp_t*)handle);
90
+ uv_tcp_init(loop, (uv_tcp_t*)handle);
85
91
 
86
92
  /* associate server with stream */
87
93
  handle->data = server;
@@ -89,9 +95,10 @@ static void on_connection(uv_stream_t* server, int status) {
89
95
  r = uv_accept(server, (uv_stream_t*)handle);
90
96
  ASSERT(r == 0);
91
97
 
92
- status = uv_getsockname((uv_tcp_t*)handle, &sockname, &namelen);
98
+ status = uv_getsockname(handle, &sockname, &namelen);
93
99
  if (status != 0) {
94
- fprintf(stderr, "uv_getsockname error (accepted) %d\n", uv_last_error().code);
100
+ fprintf(stderr, "uv_getsockname error (accepted) %d\n",
101
+ uv_last_error(loop).code);
95
102
  }
96
103
  ASSERT(status == 0);
97
104
 
@@ -99,7 +106,6 @@ static void on_connection(uv_stream_t* server, int status) {
99
106
 
100
107
  r = uv_read_start((uv_stream_t*)handle, alloc, after_read);
101
108
  ASSERT(r == 0);
102
-
103
109
  }
104
110
 
105
111
 
@@ -110,9 +116,10 @@ static void on_connect(uv_connect_t* req, int status) {
110
116
 
111
117
  ASSERT(status == 0);
112
118
 
113
- r = uv_getsockname(&tcp, &sockname, &namelen);
119
+ r = uv_getsockname((uv_handle_t*)&tcp, &sockname, &namelen);
114
120
  if (r != 0) {
115
- fprintf(stderr, "uv_getsockname error (connector) %d\n", uv_last_error().code);
121
+ fprintf(stderr, "uv_getsockname error (connector) %d\n",
122
+ uv_last_error(loop).code);
116
123
  }
117
124
  ASSERT(r == 0);
118
125
 
@@ -129,7 +136,7 @@ static int tcp_listener(int port) {
129
136
  char ip[20];
130
137
  int r;
131
138
 
132
- r = uv_tcp_init(&tcpServer);
139
+ r = uv_tcp_init(loop, &tcpServer);
133
140
  if (r) {
134
141
  fprintf(stderr, "Socket creation error\n");
135
142
  return 1;
@@ -147,9 +154,12 @@ static int tcp_listener(int port) {
147
154
  return 1;
148
155
  }
149
156
 
150
- r = uv_getsockname(&tcpServer, &sockname, &namelen);
157
+ memset(&sockname, -1, sizeof sockname);
158
+
159
+ r = uv_getsockname((uv_handle_t*)&tcpServer, &sockname, &namelen);
151
160
  if (r != 0) {
152
- fprintf(stderr, "uv_getsockname error (listening) %d\n", uv_last_error().code);
161
+ fprintf(stderr, "uv_getsockname error (listening) %d\n",
162
+ uv_last_error(loop).code);
153
163
  }
154
164
  ASSERT(r == 0);
155
165
 
@@ -170,7 +180,7 @@ static void tcp_connector() {
170
180
  int r;
171
181
  struct sockaddr_in server_addr = uv_ip4_addr("127.0.0.1", TEST_PORT);
172
182
 
173
- r = uv_tcp_init(&tcp);
183
+ r = uv_tcp_init(loop, &tcp);
174
184
  tcp.data = &connect_req;
175
185
  ASSERT(!r);
176
186
 
@@ -179,18 +189,134 @@ static void tcp_connector() {
179
189
  }
180
190
 
181
191
 
182
- TEST_IMPL(getsockname) {
192
+ static void udp_recv(uv_udp_t* handle,
193
+ ssize_t nread,
194
+ uv_buf_t buf,
195
+ struct sockaddr* addr,
196
+ unsigned flags) {
197
+ struct sockaddr sockname;
198
+ char ip[20];
199
+ int namelen;
200
+ int r;
201
+
202
+ ASSERT(nread >= 0);
203
+
204
+ if (nread == 0) {
205
+ free(buf.base);
206
+ return;
207
+ }
208
+
209
+ namelen = sizeof(sockname);
210
+ r = uv_getsockname((uv_handle_t*)&udp, &sockname, &namelen);
211
+ if (r != 0) {
212
+ fprintf(stderr, "uv_getsockname error (connector) %d\n", uv_last_error(loop).code);
213
+ }
214
+ ASSERT(r == 0);
215
+
216
+ r = uv_ip4_name((struct sockaddr_in*)&sockname, ip, 20);
217
+ ASSERT(r == 0);
218
+ printf("sockname = %s\n", ip);
219
+
220
+ getsocknamecount++;
221
+
222
+ uv_close((uv_handle_t*) &udp, NULL);
223
+ uv_close((uv_handle_t*) handle, NULL);
224
+ }
225
+
226
+
227
+ static void udp_send(uv_udp_send_t* req, int status) {
228
+
229
+ }
230
+
231
+
232
+ static int udp_listener(int port) {
233
+ struct sockaddr_in addr = uv_ip4_addr("0.0.0.0", port);
234
+ struct sockaddr sockname;
235
+ int namelen = sizeof(sockname);
236
+ char ip[20];
237
+ int r;
238
+
239
+ r = uv_udp_init(loop, &udpServer);
240
+ if (r) {
241
+ fprintf(stderr, "Socket creation error\n");
242
+ return 1;
243
+ }
244
+
245
+ r = uv_udp_bind(&udpServer, addr, 0);
246
+ if (r) {
247
+ fprintf(stderr, "Bind error\n");
248
+ return 1;
249
+ }
250
+
251
+ memset(&sockname, -1, sizeof sockname);
252
+
253
+ r = uv_getsockname((uv_handle_t*)&udpServer, &sockname, &namelen);
254
+ if (r != 0) {
255
+ fprintf(stderr, "uv_getsockname error (listening) %d\n", uv_last_error(loop).code);
256
+ }
257
+ ASSERT(r == 0);
258
+
259
+ r = uv_ip4_name((struct sockaddr_in*)&sockname, ip, 20);
260
+ ASSERT(r == 0);
261
+ ASSERT(ip[0] == '0');
262
+ ASSERT(ip[1] == '.');
263
+ ASSERT(ip[2] == '0');
264
+ printf("sockname = %s\n", ip);
265
+
266
+ getsocknamecount++;
267
+
268
+ r = uv_udp_recv_start(&udpServer, alloc, udp_recv);
269
+ ASSERT(r == 0);
270
+
271
+ return 0;
272
+ }
273
+
274
+
275
+ static void udp_sender(void) {
276
+ struct sockaddr_in server_addr;
277
+ uv_buf_t buf;
278
+ int r;
279
+
280
+ r = uv_udp_init(loop, &udp);
281
+ ASSERT(!r);
282
+
283
+ buf = uv_buf_init("PING", 4);
284
+ server_addr = uv_ip4_addr("127.0.0.1", TEST_PORT);
285
+
286
+ r = uv_udp_send(&send_req, &udp, &buf, 1, server_addr, udp_send);
287
+ ASSERT(!r);
288
+ }
289
+
290
+
291
+ TEST_IMPL(getsockname_tcp) {
183
292
  uv_init();
293
+ loop = uv_default_loop();
184
294
 
185
295
  if (tcp_listener(TEST_PORT))
186
296
  return 1;
187
297
 
188
298
  tcp_connector();
189
299
 
190
- uv_run();
300
+ uv_run(loop);
191
301
 
192
302
  ASSERT(getsocknamecount == 3);
193
303
 
194
304
  return 0;
195
305
  }
196
306
 
307
+
308
+ TEST_IMPL(getsockname_udp) {
309
+ uv_init();
310
+ loop = uv_default_loop();
311
+
312
+ if (udp_listener(TEST_PORT))
313
+ return 1;
314
+
315
+ udp_sender();
316
+
317
+ uv_run(loop);
318
+
319
+ ASSERT(getsocknamecount == 2);
320
+
321
+ return 0;
322
+ }
@@ -62,17 +62,18 @@ TEST_IMPL(idle_starvation) {
62
62
 
63
63
  uv_init();
64
64
 
65
- r = uv_idle_init(&idle_handle);
65
+
66
+ r = uv_idle_init(uv_default_loop(), &idle_handle);
66
67
  ASSERT(r == 0);
67
68
  r = uv_idle_start(&idle_handle, idle_cb);
68
69
  ASSERT(r == 0);
69
70
 
70
- r = uv_timer_init(&timer_handle);
71
+ r = uv_timer_init(uv_default_loop(), &timer_handle);
71
72
  ASSERT(r == 0);
72
73
  r = uv_timer_start(&timer_handle, timer_cb, 50, 0);
73
74
  ASSERT(r == 0);
74
75
 
75
- r = uv_run();
76
+ r = uv_run(uv_default_loop());
76
77
  ASSERT(r == 0);
77
78
 
78
79
  ASSERT(idle_cb_called > 0);
@@ -36,6 +36,10 @@ TEST_DECLARE (tcp_bind6_error_addrnotavail)
36
36
  TEST_DECLARE (tcp_bind6_error_fault)
37
37
  TEST_DECLARE (tcp_bind6_error_inval)
38
38
  TEST_DECLARE (tcp_bind6_localhost_ok)
39
+ TEST_DECLARE (udp_send_and_recv)
40
+ TEST_DECLARE (udp_dgram_too_big)
41
+ TEST_DECLARE (udp_dual_stack)
42
+ TEST_DECLARE (udp_ipv6_only)
39
43
  TEST_DECLARE (pipe_bind_error_addrinuse)
40
44
  TEST_DECLARE (pipe_bind_error_addrnotavail)
41
45
  TEST_DECLARE (pipe_bind_error_inval)
@@ -60,13 +64,21 @@ TEST_DECLARE (hrtime)
60
64
  TEST_DECLARE (getaddrinfo_basic)
61
65
  TEST_DECLARE (getaddrinfo_concurrent)
62
66
  TEST_DECLARE (gethostbyname)
63
- TEST_DECLARE (getsockname)
67
+ TEST_DECLARE (getsockname_tcp)
68
+ TEST_DECLARE (getsockname_udp)
64
69
  TEST_DECLARE (fail_always)
65
70
  TEST_DECLARE (pass_always)
66
71
  TEST_DECLARE (spawn_exit_code)
67
72
  TEST_DECLARE (spawn_stdout)
68
73
  TEST_DECLARE (spawn_stdin)
69
74
  TEST_DECLARE (spawn_and_kill)
75
+ TEST_DECLARE (fs_file_async)
76
+ TEST_DECLARE (fs_file_sync)
77
+ TEST_DECLARE (fs_async_dir)
78
+ TEST_DECLARE (fs_async_sendfile)
79
+ TEST_DECLARE (fs_fstat)
80
+ TEST_DECLARE (fs_chmod)
81
+ TEST_DECLARE (threadpool_queue_work_simple)
70
82
  #ifdef _WIN32
71
83
  TEST_DECLARE (spawn_detect_pipe_name_collisions_on_windows)
72
84
  TEST_DECLARE (argument_escaping)
@@ -106,6 +118,11 @@ TASK_LIST_START
106
118
  TEST_ENTRY (tcp_bind6_error_inval)
107
119
  TEST_ENTRY (tcp_bind6_localhost_ok)
108
120
 
121
+ TEST_ENTRY (udp_send_and_recv)
122
+ TEST_ENTRY (udp_dgram_too_big)
123
+ TEST_ENTRY (udp_dual_stack)
124
+ TEST_ENTRY (udp_ipv6_only)
125
+
109
126
  TEST_ENTRY (pipe_bind_error_addrinuse)
110
127
  TEST_ENTRY (pipe_bind_error_addrnotavail)
111
128
  TEST_ENTRY (pipe_bind_error_inval)
@@ -147,7 +164,8 @@ TASK_LIST_START
147
164
  TEST_ENTRY (gethostbyname)
148
165
  TEST_HELPER (gethostbyname, tcp4_echo_server)
149
166
 
150
- TEST_ENTRY (getsockname)
167
+ TEST_ENTRY (getsockname_tcp)
168
+ TEST_ENTRY (getsockname_udp)
151
169
 
152
170
  TEST_ENTRY (spawn_exit_code)
153
171
  TEST_ENTRY (spawn_stdout)
@@ -159,6 +177,15 @@ TASK_LIST_START
159
177
  TEST_ENTRY (environment_creation)
160
178
  #endif
161
179
 
180
+ TEST_ENTRY (fs_file_async)
181
+ TEST_ENTRY (fs_file_sync)
182
+ TEST_ENTRY (fs_async_dir)
183
+ TEST_ENTRY (fs_async_sendfile)
184
+ TEST_ENTRY (fs_fstat)
185
+ TEST_ENTRY (fs_chmod)
186
+
187
+ TEST_ENTRY (threadpool_queue_work_simple)
188
+
162
189
  #if 0
163
190
  /* These are for testing the test runner. */
164
191
  TEST_ENTRY (fail_always)
@@ -153,7 +153,7 @@ static void idle_1_cb(uv_idle_t* handle, int status) {
153
153
 
154
154
  /* Init idle_2 and make it active */
155
155
  if (!idle_2_is_active) {
156
- r = uv_idle_init(&idle_2_handle);
156
+ r = uv_idle_init(uv_default_loop(), &idle_2_handle);
157
157
  ASSERT(r == 0);
158
158
  r = uv_idle_start(&idle_2_handle, idle_2_cb);
159
159
  ASSERT(r == 0);
@@ -301,23 +301,24 @@ TEST_IMPL(loop_handles) {
301
301
 
302
302
  uv_init();
303
303
 
304
- r = uv_prepare_init(&prepare_1_handle);
304
+
305
+ r = uv_prepare_init(uv_default_loop(), &prepare_1_handle);
305
306
  ASSERT(r == 0);
306
307
  r = uv_prepare_start(&prepare_1_handle, prepare_1_cb);
307
308
  ASSERT(r == 0);
308
309
 
309
- r = uv_check_init(&check_handle);
310
+ r = uv_check_init(uv_default_loop(), &check_handle);
310
311
  ASSERT(r == 0);
311
312
  r = uv_check_start(&check_handle, check_cb);
312
313
  ASSERT(r == 0);
313
314
 
314
315
  /* initialize only, prepare_2 is started by prepare_1_cb */
315
- r = uv_prepare_init(&prepare_2_handle);
316
+ r = uv_prepare_init(uv_default_loop(), &prepare_2_handle);
316
317
  ASSERT(r == 0);
317
318
 
318
319
  for (i = 0; i < IDLE_COUNT; i++) {
319
320
  /* initialize only, idle_1 handles are started by check_cb */
320
- r = uv_idle_init(&idle_1_handles[i]);
321
+ r = uv_idle_init(uv_default_loop(), &idle_1_handles[i]);
321
322
  ASSERT(r == 0);
322
323
  }
323
324
 
@@ -325,13 +326,13 @@ TEST_IMPL(loop_handles) {
325
326
 
326
327
  /* the timer callback is there to keep the event loop polling */
327
328
  /* unref it as it is not supposed to keep the loop alive */
328
- r = uv_timer_init(&timer_handle);
329
+ r = uv_timer_init(uv_default_loop(), &timer_handle);
329
330
  ASSERT(r == 0);
330
331
  r = uv_timer_start(&timer_handle, timer_cb, TIMEOUT, TIMEOUT);
331
332
  ASSERT(r == 0);
332
- uv_unref();
333
+ uv_unref(uv_default_loop());
333
334
 
334
- r = uv_run();
335
+ r = uv_run(uv_default_loop());
335
336
  ASSERT(r == 0);
336
337
 
337
338
  ASSERT(loop_iteration == ITERATIONS);
@@ -51,7 +51,7 @@ typedef struct {
51
51
  void pinger_try_read(pinger_t* pinger);
52
52
 
53
53
 
54
- static uv_buf_t alloc_cb(uv_stream_t* tcp, size_t size) {
54
+ static uv_buf_t alloc_cb(uv_handle_t* handle, size_t size) {
55
55
  uv_buf_t buf;
56
56
  buf.base = (char*)malloc(size);
57
57
  buf.len = size;
@@ -94,13 +94,13 @@ static void pinger_write_ping(pinger_t* pinger) {
94
94
 
95
95
 
96
96
  static void pinger_read_cb(uv_stream_t* stream, ssize_t nread, uv_buf_t buf) {
97
- unsigned int i;
97
+ ssize_t i;
98
98
  pinger_t* pinger;
99
99
 
100
100
  pinger = (pinger_t*)stream->data;
101
101
 
102
102
  if (nread < 0) {
103
- ASSERT(uv_last_error().code == UV_EOF);
103
+ ASSERT(uv_last_error(uv_default_loop()).code == UV_EOF);
104
104
 
105
105
  puts("got EOF");
106
106
 
@@ -155,7 +155,7 @@ static void tcp_pinger_v6_new() {
155
155
  pinger->pongs = 0;
156
156
 
157
157
  /* Try to connec to the server and do NUM_PINGS ping-pongs. */
158
- r = uv_tcp_init(&pinger->tcp);
158
+ r = uv_tcp_init(uv_default_loop(), &pinger->tcp);
159
159
  pinger->tcp.data = pinger;
160
160
  ASSERT(!r);
161
161
 
@@ -180,7 +180,7 @@ static void tcp_pinger_new() {
180
180
  pinger->pongs = 0;
181
181
 
182
182
  /* Try to connec to the server and do NUM_PINGS ping-pongs. */
183
- r = uv_tcp_init(&pinger->tcp);
183
+ r = uv_tcp_init(uv_default_loop(), &pinger->tcp);
184
184
  pinger->tcp.data = pinger;
185
185
  ASSERT(!r);
186
186
 
@@ -204,7 +204,7 @@ static void pipe_pinger_new() {
204
204
  pinger->pongs = 0;
205
205
 
206
206
  /* Try to connec to the server and do NUM_PINGS ping-pongs. */
207
- r = uv_pipe_init(&pinger->pipe);
207
+ r = uv_pipe_init(uv_default_loop(), &pinger->pipe);
208
208
  pinger->pipe.data = pinger;
209
209
  ASSERT(!r);
210
210
 
@@ -224,7 +224,7 @@ TEST_IMPL(tcp_ping_pong) {
224
224
  uv_init();
225
225
 
226
226
  tcp_pinger_new();
227
- uv_run();
227
+ uv_run(uv_default_loop());
228
228
 
229
229
  ASSERT(completed_pingers == 1);
230
230
 
@@ -236,7 +236,7 @@ TEST_IMPL(tcp_ping_pong_v6) {
236
236
  uv_init();
237
237
 
238
238
  tcp_pinger_v6_new();
239
- uv_run();
239
+ uv_run(uv_default_loop());
240
240
 
241
241
  ASSERT(completed_pingers == 1);
242
242
 
@@ -248,7 +248,7 @@ TEST_IMPL(pipe_ping_pong) {
248
248
  uv_init();
249
249
 
250
250
  pipe_pinger_new();
251
- uv_run();
251
+ uv_run(uv_default_loop());
252
252
 
253
253
  ASSERT(completed_pingers == 1);
254
254
 
@@ -47,29 +47,30 @@ TEST_IMPL(pipe_bind_error_addrinuse) {
47
47
 
48
48
  uv_init();
49
49
 
50
- r = uv_pipe_init(&server1);
50
+
51
+ r = uv_pipe_init(uv_default_loop(), &server1);
51
52
  ASSERT(r == 0);
52
53
  r = uv_pipe_bind(&server1, TEST_PIPENAME);
53
54
  ASSERT(r == 0);
54
55
 
55
- r = uv_pipe_init(&server2);
56
+ r = uv_pipe_init(uv_default_loop(), &server2);
56
57
  ASSERT(r == 0);
57
58
  r = uv_pipe_bind(&server2, TEST_PIPENAME);
58
59
  ASSERT(r == -1);
59
60
 
60
- ASSERT(uv_last_error().code == UV_EADDRINUSE);
61
+ ASSERT(uv_last_error(uv_default_loop()).code == UV_EADDRINUSE);
61
62
 
62
63
  r = uv_listen((uv_stream_t*)&server1, SOMAXCONN, NULL);
63
64
  ASSERT(r == 0);
64
65
  r = uv_listen((uv_stream_t*)&server2, SOMAXCONN, NULL);
65
66
  ASSERT(r == -1);
66
67
 
67
- ASSERT(uv_last_error().code == UV_EINVAL);
68
+ ASSERT(uv_last_error(uv_default_loop()).code == UV_EINVAL);
68
69
 
69
70
  uv_close((uv_handle_t*)&server1, close_cb);
70
71
  uv_close((uv_handle_t*)&server2, close_cb);
71
72
 
72
- uv_run();
73
+ uv_run(uv_default_loop());
73
74
 
74
75
  ASSERT(close_cb_called == 2);
75
76
 
@@ -83,16 +84,17 @@ TEST_IMPL(pipe_bind_error_addrnotavail) {
83
84
 
84
85
  uv_init();
85
86
 
86
- r = uv_pipe_init(&server);
87
+
88
+ r = uv_pipe_init(uv_default_loop(), &server);
87
89
  ASSERT(r == 0);
88
90
  r = uv_pipe_bind(&server, BAD_PIPENAME);
89
91
 
90
92
  ASSERT(r == -1);
91
- ASSERT(uv_last_error().code == UV_EACCESS);
93
+ ASSERT(uv_last_error(uv_default_loop()).code == UV_EACCESS);
92
94
 
93
95
  uv_close((uv_handle_t*)&server, close_cb);
94
96
 
95
- uv_run();
97
+ uv_run(uv_default_loop());
96
98
 
97
99
  ASSERT(close_cb_called == 1);
98
100
 
@@ -106,18 +108,19 @@ TEST_IMPL(pipe_bind_error_inval) {
106
108
 
107
109
  uv_init();
108
110
 
109
- r = uv_pipe_init(&server);
111
+
112
+ r = uv_pipe_init(uv_default_loop(), &server);
110
113
  ASSERT(r == 0);
111
114
  r = uv_pipe_bind(&server, TEST_PIPENAME);
112
115
  ASSERT(r == 0);
113
116
  r = uv_pipe_bind(&server, TEST_PIPENAME_2);
114
117
  ASSERT(r == -1);
115
118
 
116
- ASSERT(uv_last_error().code == UV_EINVAL);
119
+ ASSERT(uv_last_error(uv_default_loop()).code == UV_EINVAL);
117
120
 
118
121
  uv_close((uv_handle_t*)&server, close_cb);
119
122
 
120
- uv_run();
123
+ uv_run(uv_default_loop());
121
124
 
122
125
  ASSERT(close_cb_called == 1);
123
126
 
@@ -131,16 +134,17 @@ TEST_IMPL(pipe_listen_without_bind) {
131
134
 
132
135
  uv_init();
133
136
 
134
- r = uv_pipe_init(&server);
137
+
138
+ r = uv_pipe_init(uv_default_loop(), &server);
135
139
  ASSERT(r == 0);
136
140
  r = uv_listen((uv_stream_t*)&server, SOMAXCONN, NULL);
137
141
  ASSERT(r == -1);
138
142
 
139
- ASSERT(uv_last_error().code == UV_EINVAL);
143
+ ASSERT(uv_last_error(uv_default_loop()).code == UV_EINVAL);
140
144
 
141
145
  uv_close((uv_handle_t*)&server, close_cb);
142
146
 
143
- uv_run();
147
+ uv_run(uv_default_loop());
144
148
 
145
149
  ASSERT(close_cb_called == 1);
146
150