noderb 0.0.4 → 0.0.6

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 (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