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
@@ -1,103 +0,0 @@
1
- /*
2
- * pthread_barrier_destroy.c
3
- *
4
- * Description:
5
- * This translation unit implements barrier primitives.
6
- *
7
- * --------------------------------------------------------------------------
8
- *
9
- * Pthreads-win32 - POSIX Threads Library for Win32
10
- * Copyright(C) 1998 John E. Bossom
11
- * Copyright(C) 1999,2005 Pthreads-win32 contributors
12
- *
13
- * Contact Email: rpj@callisto.canberra.edu.au
14
- *
15
- * The current list of contributors is contained
16
- * in the file CONTRIBUTORS included with the source
17
- * code distribution. The list can also be seen at the
18
- * following World Wide Web location:
19
- * http://sources.redhat.com/pthreads-win32/contributors.html
20
- *
21
- * This library is free software; you can redistribute it and/or
22
- * modify it under the terms of the GNU Lesser General Public
23
- * License as published by the Free Software Foundation; either
24
- * version 2 of the License, or (at your option) any later version.
25
- *
26
- * This library is distributed in the hope that it will be useful,
27
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29
- * Lesser General Public License for more details.
30
- *
31
- * You should have received a copy of the GNU Lesser General Public
32
- * License along with this library in the file COPYING.LIB;
33
- * if not, write to the Free Software Foundation, Inc.,
34
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
35
- */
36
-
37
- #include "pthread.h"
38
- #include "implement.h"
39
-
40
- int
41
- pthread_barrier_destroy (pthread_barrier_t * barrier)
42
- {
43
- int result = 0;
44
- pthread_barrier_t b;
45
- ptw32_mcs_local_node_t node;
46
-
47
- if (barrier == NULL || *barrier == (pthread_barrier_t) PTW32_OBJECT_INVALID)
48
- {
49
- return EINVAL;
50
- }
51
-
52
- if (0 != ptw32_mcs_lock_try_acquire(&(*barrier)->lock, &node))
53
- {
54
- return EBUSY;
55
- }
56
-
57
- b = *barrier;
58
-
59
- if (b->nCurrentBarrierHeight < b->nInitialBarrierHeight)
60
- {
61
- result = EBUSY;
62
- }
63
- else
64
- {
65
- if (0 == (result = sem_destroy (&(b->semBarrierBreeched))))
66
- {
67
- *barrier = (pthread_barrier_t) PTW32_OBJECT_INVALID;
68
- /*
69
- * Release the lock before freeing b.
70
- *
71
- * FIXME: There may be successors which, when we release the lock,
72
- * will be linked into b->lock, which will be corrupted at some
73
- * point with undefined results for the application. To fix this
74
- * will require changing pthread_barrier_t from a pointer to
75
- * pthread_barrier_t_ to an instance. This is a change to the ABI
76
- * and will require a major version number increment.
77
- */
78
- ptw32_mcs_lock_release(&node);
79
- (void) free (b);
80
- return 0;
81
- }
82
- else
83
- {
84
- /*
85
- * This should not ever be reached.
86
- * Restore the barrier to working condition before returning.
87
- */
88
- (void) sem_init (&(b->semBarrierBreeched), b->pshared, 0);
89
- }
90
-
91
- if (result != 0)
92
- {
93
- /*
94
- * The barrier still exists and is valid
95
- * in the event of any error above.
96
- */
97
- result = EBUSY;
98
- }
99
- }
100
-
101
- ptw32_mcs_lock_release(&node);
102
- return (result);
103
- }
@@ -1,69 +0,0 @@
1
- /*
2
- * pthread_barrier_init.c
3
- *
4
- * Description:
5
- * This translation unit implements barrier primitives.
6
- *
7
- * --------------------------------------------------------------------------
8
- *
9
- * Pthreads-win32 - POSIX Threads Library for Win32
10
- * Copyright(C) 1998 John E. Bossom
11
- * Copyright(C) 1999,2005 Pthreads-win32 contributors
12
- *
13
- * Contact Email: rpj@callisto.canberra.edu.au
14
- *
15
- * The current list of contributors is contained
16
- * in the file CONTRIBUTORS included with the source
17
- * code distribution. The list can also be seen at the
18
- * following World Wide Web location:
19
- * http://sources.redhat.com/pthreads-win32/contributors.html
20
- *
21
- * This library is free software; you can redistribute it and/or
22
- * modify it under the terms of the GNU Lesser General Public
23
- * License as published by the Free Software Foundation; either
24
- * version 2 of the License, or (at your option) any later version.
25
- *
26
- * This library is distributed in the hope that it will be useful,
27
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29
- * Lesser General Public License for more details.
30
- *
31
- * You should have received a copy of the GNU Lesser General Public
32
- * License along with this library in the file COPYING.LIB;
33
- * if not, write to the Free Software Foundation, Inc.,
34
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
35
- */
36
-
37
- #include "pthread.h"
38
- #include "implement.h"
39
-
40
-
41
- int
42
- pthread_barrier_init (pthread_barrier_t * barrier,
43
- const pthread_barrierattr_t * attr, unsigned int count)
44
- {
45
- pthread_barrier_t b;
46
-
47
- if (barrier == NULL || count == 0)
48
- {
49
- return EINVAL;
50
- }
51
-
52
- if (NULL != (b = (pthread_barrier_t) calloc (1, sizeof (*b))))
53
- {
54
- b->pshared = (attr != NULL && *attr != NULL
55
- ? (*attr)->pshared : PTHREAD_PROCESS_PRIVATE);
56
-
57
- b->nCurrentBarrierHeight = b->nInitialBarrierHeight = count;
58
- b->lock = 0;
59
-
60
- if (0 == sem_init (&(b->semBarrierBreeched), b->pshared, 0))
61
- {
62
- *barrier = b;
63
- return 0;
64
- }
65
- (void) free (b);
66
- }
67
-
68
- return ENOMEM;
69
- }
@@ -1,104 +0,0 @@
1
- /*
2
- * pthread_barrier_wait.c
3
- *
4
- * Description:
5
- * This translation unit implements barrier primitives.
6
- *
7
- * --------------------------------------------------------------------------
8
- *
9
- * Pthreads-win32 - POSIX Threads Library for Win32
10
- * Copyright(C) 1998 John E. Bossom
11
- * Copyright(C) 1999,2005 Pthreads-win32 contributors
12
- *
13
- * Contact Email: rpj@callisto.canberra.edu.au
14
- *
15
- * The current list of contributors is contained
16
- * in the file CONTRIBUTORS included with the source
17
- * code distribution. The list can also be seen at the
18
- * following World Wide Web location:
19
- * http://sources.redhat.com/pthreads-win32/contributors.html
20
- *
21
- * This library is free software; you can redistribute it and/or
22
- * modify it under the terms of the GNU Lesser General Public
23
- * License as published by the Free Software Foundation; either
24
- * version 2 of the License, or (at your option) any later version.
25
- *
26
- * This library is distributed in the hope that it will be useful,
27
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29
- * Lesser General Public License for more details.
30
- *
31
- * You should have received a copy of the GNU Lesser General Public
32
- * License along with this library in the file COPYING.LIB;
33
- * if not, write to the Free Software Foundation, Inc.,
34
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
35
- */
36
-
37
- #include "pthread.h"
38
- #include "implement.h"
39
-
40
-
41
- int
42
- pthread_barrier_wait (pthread_barrier_t * barrier)
43
- {
44
- int result;
45
- pthread_barrier_t b;
46
-
47
- ptw32_mcs_local_node_t node;
48
-
49
- if (barrier == NULL || *barrier == (pthread_barrier_t) PTW32_OBJECT_INVALID)
50
- {
51
- return EINVAL;
52
- }
53
-
54
- ptw32_mcs_lock_acquire(&(*barrier)->lock, &node);
55
-
56
- b = *barrier;
57
- if (--b->nCurrentBarrierHeight == 0)
58
- {
59
- /*
60
- * We are the last thread to arrive at the barrier before it releases us.
61
- * Move our MCS local node to the global scope barrier handle so that the
62
- * last thread out (not necessarily us) can release the lock.
63
- */
64
- ptw32_mcs_node_transfer(&b->proxynode, &node);
65
-
66
- /*
67
- * Any threads that have not quite entered sem_wait below when the
68
- * multiple_post has completed will nevertheless continue through
69
- * the semaphore (barrier).
70
- */
71
- result = (b->nInitialBarrierHeight > 1
72
- ? sem_post_multiple (&(b->semBarrierBreeched),
73
- b->nInitialBarrierHeight - 1) : 0);
74
- }
75
- else
76
- {
77
- ptw32_mcs_lock_release(&node);
78
- /*
79
- * Use the non-cancelable version of sem_wait().
80
- *
81
- * It is possible that all nInitialBarrierHeight-1 threads are
82
- * at this point when the last thread enters the barrier, resets
83
- * nCurrentBarrierHeight = nInitialBarrierHeight and leaves.
84
- * If pthread_barrier_destroy is called at that moment then the
85
- * barrier will be destroyed along with the semas.
86
- */
87
- result = ptw32_semwait (&(b->semBarrierBreeched));
88
- }
89
-
90
- if ((PTW32_INTERLOCKED_LONG)PTW32_INTERLOCKED_INCREMENT_LONG((PTW32_INTERLOCKED_LONGPTR)&b->nCurrentBarrierHeight)
91
- == (PTW32_INTERLOCKED_LONG)b->nInitialBarrierHeight)
92
- {
93
- /*
94
- * We are the last thread to cross this barrier
95
- */
96
- ptw32_mcs_lock_release(&b->proxynode);
97
- if (0 == result)
98
- {
99
- result = PTHREAD_BARRIER_SERIAL_THREAD;
100
- }
101
- }
102
-
103
- return (result);
104
- }
@@ -1,83 +0,0 @@
1
- /*
2
- * pthread_barrier_attr_destroy.c
3
- *
4
- * Description:
5
- * This translation unit implements barrier primitives.
6
- *
7
- * --------------------------------------------------------------------------
8
- *
9
- * Pthreads-win32 - POSIX Threads Library for Win32
10
- * Copyright(C) 1998 John E. Bossom
11
- * Copyright(C) 1999,2005 Pthreads-win32 contributors
12
- *
13
- * Contact Email: rpj@callisto.canberra.edu.au
14
- *
15
- * The current list of contributors is contained
16
- * in the file CONTRIBUTORS included with the source
17
- * code distribution. The list can also be seen at the
18
- * following World Wide Web location:
19
- * http://sources.redhat.com/pthreads-win32/contributors.html
20
- *
21
- * This library is free software; you can redistribute it and/or
22
- * modify it under the terms of the GNU Lesser General Public
23
- * License as published by the Free Software Foundation; either
24
- * version 2 of the License, or (at your option) any later version.
25
- *
26
- * This library is distributed in the hope that it will be useful,
27
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29
- * Lesser General Public License for more details.
30
- *
31
- * You should have received a copy of the GNU Lesser General Public
32
- * License along with this library in the file COPYING.LIB;
33
- * if not, write to the Free Software Foundation, Inc.,
34
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
35
- */
36
-
37
- #include "pthread.h"
38
- #include "implement.h"
39
-
40
-
41
- int
42
- pthread_barrierattr_destroy (pthread_barrierattr_t * attr)
43
- /*
44
- * ------------------------------------------------------
45
- * DOCPUBLIC
46
- * Destroys a barrier attributes object. The object can
47
- * no longer be used.
48
- *
49
- * PARAMETERS
50
- * attr
51
- * pointer to an instance of pthread_barrierattr_t
52
- *
53
- *
54
- * DESCRIPTION
55
- * Destroys a barrier attributes object. The object can
56
- * no longer be used.
57
- *
58
- * NOTES:
59
- * 1) Does not affect barrieres created using 'attr'
60
- *
61
- * RESULTS
62
- * 0 successfully released attr,
63
- * EINVAL 'attr' is invalid.
64
- *
65
- * ------------------------------------------------------
66
- */
67
- {
68
- int result = 0;
69
-
70
- if (attr == NULL || *attr == NULL)
71
- {
72
- result = EINVAL;
73
- }
74
- else
75
- {
76
- pthread_barrierattr_t ba = *attr;
77
-
78
- *attr = NULL;
79
- free (ba);
80
- }
81
-
82
- return (result);
83
- } /* pthread_barrierattr_destroy */
@@ -1,95 +0,0 @@
1
- /*
2
- * pthread_barrier_attr_getpshared.c
3
- *
4
- * Description:
5
- * This translation unit implements barrier primitives.
6
- *
7
- * --------------------------------------------------------------------------
8
- *
9
- * Pthreads-win32 - POSIX Threads Library for Win32
10
- * Copyright(C) 1998 John E. Bossom
11
- * Copyright(C) 1999,2005 Pthreads-win32 contributors
12
- *
13
- * Contact Email: rpj@callisto.canberra.edu.au
14
- *
15
- * The current list of contributors is contained
16
- * in the file CONTRIBUTORS included with the source
17
- * code distribution. The list can also be seen at the
18
- * following World Wide Web location:
19
- * http://sources.redhat.com/pthreads-win32/contributors.html
20
- *
21
- * This library is free software; you can redistribute it and/or
22
- * modify it under the terms of the GNU Lesser General Public
23
- * License as published by the Free Software Foundation; either
24
- * version 2 of the License, or (at your option) any later version.
25
- *
26
- * This library is distributed in the hope that it will be useful,
27
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29
- * Lesser General Public License for more details.
30
- *
31
- * You should have received a copy of the GNU Lesser General Public
32
- * License along with this library in the file COPYING.LIB;
33
- * if not, write to the Free Software Foundation, Inc.,
34
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
35
- */
36
-
37
- #include "pthread.h"
38
- #include "implement.h"
39
-
40
-
41
- int
42
- pthread_barrierattr_getpshared (const pthread_barrierattr_t * attr,
43
- int *pshared)
44
- /*
45
- * ------------------------------------------------------
46
- * DOCPUBLIC
47
- * Determine whether barriers created with 'attr' can be
48
- * shared between processes.
49
- *
50
- * PARAMETERS
51
- * attr
52
- * pointer to an instance of pthread_barrierattr_t
53
- *
54
- * pshared
55
- * will be set to one of:
56
- *
57
- * PTHREAD_PROCESS_SHARED
58
- * May be shared if in shared memory
59
- *
60
- * PTHREAD_PROCESS_PRIVATE
61
- * Cannot be shared.
62
- *
63
- *
64
- * DESCRIPTION
65
- * Mutexes creatd with 'attr' can be shared between
66
- * processes if pthread_barrier_t variable is allocated
67
- * in memory shared by these processes.
68
- * NOTES:
69
- * 1) pshared barriers MUST be allocated in shared
70
- * memory.
71
- * 2) The following macro is defined if shared barriers
72
- * are supported:
73
- * _POSIX_THREAD_PROCESS_SHARED
74
- *
75
- * RESULTS
76
- * 0 successfully retrieved attribute,
77
- * EINVAL 'attr' is invalid,
78
- *
79
- * ------------------------------------------------------
80
- */
81
- {
82
- int result;
83
-
84
- if ((attr != NULL && *attr != NULL) && (pshared != NULL))
85
- {
86
- *pshared = (*attr)->pshared;
87
- result = 0;
88
- }
89
- else
90
- {
91
- result = EINVAL;
92
- }
93
-
94
- return (result);
95
- } /* pthread_barrierattr_getpshared */
@@ -1,85 +0,0 @@
1
- /*
2
- * pthread_barrier_attr_init.c
3
- *
4
- * Description:
5
- * This translation unit implements barrier primitives.
6
- *
7
- * --------------------------------------------------------------------------
8
- *
9
- * Pthreads-win32 - POSIX Threads Library for Win32
10
- * Copyright(C) 1998 John E. Bossom
11
- * Copyright(C) 1999,2005 Pthreads-win32 contributors
12
- *
13
- * Contact Email: rpj@callisto.canberra.edu.au
14
- *
15
- * The current list of contributors is contained
16
- * in the file CONTRIBUTORS included with the source
17
- * code distribution. The list can also be seen at the
18
- * following World Wide Web location:
19
- * http://sources.redhat.com/pthreads-win32/contributors.html
20
- *
21
- * This library is free software; you can redistribute it and/or
22
- * modify it under the terms of the GNU Lesser General Public
23
- * License as published by the Free Software Foundation; either
24
- * version 2 of the License, or (at your option) any later version.
25
- *
26
- * This library is distributed in the hope that it will be useful,
27
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29
- * Lesser General Public License for more details.
30
- *
31
- * You should have received a copy of the GNU Lesser General Public
32
- * License along with this library in the file COPYING.LIB;
33
- * if not, write to the Free Software Foundation, Inc.,
34
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
35
- */
36
-
37
- #include "pthread.h"
38
- #include "implement.h"
39
-
40
-
41
- int
42
- pthread_barrierattr_init (pthread_barrierattr_t * attr)
43
- /*
44
- * ------------------------------------------------------
45
- * DOCPUBLIC
46
- * Initializes a barrier attributes object with default
47
- * attributes.
48
- *
49
- * PARAMETERS
50
- * attr
51
- * pointer to an instance of pthread_barrierattr_t
52
- *
53
- *
54
- * DESCRIPTION
55
- * Initializes a barrier attributes object with default
56
- * attributes.
57
- *
58
- * NOTES:
59
- * 1) Used to define barrier types
60
- *
61
- * RESULTS
62
- * 0 successfully initialized attr,
63
- * ENOMEM insufficient memory for attr.
64
- *
65
- * ------------------------------------------------------
66
- */
67
- {
68
- pthread_barrierattr_t ba;
69
- int result = 0;
70
-
71
- ba = (pthread_barrierattr_t) calloc (1, sizeof (*ba));
72
-
73
- if (ba == NULL)
74
- {
75
- result = ENOMEM;
76
- }
77
- else
78
- {
79
- ba->pshared = PTHREAD_PROCESS_PRIVATE;
80
- }
81
-
82
- *attr = ba;
83
-
84
- return (result);
85
- } /* pthread_barrierattr_init */
@@ -1,119 +0,0 @@
1
- /*
2
- * pthread_barrier_attr_setpshared.c
3
- *
4
- * Description:
5
- * This translation unit implements barrier primitives.
6
- *
7
- * --------------------------------------------------------------------------
8
- *
9
- * Pthreads-win32 - POSIX Threads Library for Win32
10
- * Copyright(C) 1998 John E. Bossom
11
- * Copyright(C) 1999,2005 Pthreads-win32 contributors
12
- *
13
- * Contact Email: rpj@callisto.canberra.edu.au
14
- *
15
- * The current list of contributors is contained
16
- * in the file CONTRIBUTORS included with the source
17
- * code distribution. The list can also be seen at the
18
- * following World Wide Web location:
19
- * http://sources.redhat.com/pthreads-win32/contributors.html
20
- *
21
- * This library is free software; you can redistribute it and/or
22
- * modify it under the terms of the GNU Lesser General Public
23
- * License as published by the Free Software Foundation; either
24
- * version 2 of the License, or (at your option) any later version.
25
- *
26
- * This library is distributed in the hope that it will be useful,
27
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29
- * Lesser General Public License for more details.
30
- *
31
- * You should have received a copy of the GNU Lesser General Public
32
- * License along with this library in the file COPYING.LIB;
33
- * if not, write to the Free Software Foundation, Inc.,
34
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
35
- */
36
-
37
- #include "pthread.h"
38
- #include "implement.h"
39
-
40
-
41
- int
42
- pthread_barrierattr_setpshared (pthread_barrierattr_t * attr, int pshared)
43
- /*
44
- * ------------------------------------------------------
45
- * DOCPUBLIC
46
- * Barriers created with 'attr' can be shared between
47
- * processes if pthread_barrier_t variable is allocated
48
- * in memory shared by these processes.
49
- *
50
- * PARAMETERS
51
- * attr
52
- * pointer to an instance of pthread_barrierattr_t
53
- *
54
- * pshared
55
- * must be one of:
56
- *
57
- * PTHREAD_PROCESS_SHARED
58
- * May be shared if in shared memory
59
- *
60
- * PTHREAD_PROCESS_PRIVATE
61
- * Cannot be shared.
62
- *
63
- * DESCRIPTION
64
- * Mutexes creatd with 'attr' can be shared between
65
- * processes if pthread_barrier_t variable is allocated
66
- * in memory shared by these processes.
67
- *
68
- * NOTES:
69
- * 1) pshared barriers MUST be allocated in shared
70
- * memory.
71
- *
72
- * 2) The following macro is defined if shared barriers
73
- * are supported:
74
- * _POSIX_THREAD_PROCESS_SHARED
75
- *
76
- * RESULTS
77
- * 0 successfully set attribute,
78
- * EINVAL 'attr' or pshared is invalid,
79
- * ENOSYS PTHREAD_PROCESS_SHARED not supported,
80
- *
81
- * ------------------------------------------------------
82
- */
83
- {
84
- int result;
85
-
86
- if ((attr != NULL && *attr != NULL) &&
87
- ((pshared == PTHREAD_PROCESS_SHARED) ||
88
- (pshared == PTHREAD_PROCESS_PRIVATE)))
89
- {
90
- if (pshared == PTHREAD_PROCESS_SHARED)
91
- {
92
-
93
- #if !defined( _POSIX_THREAD_PROCESS_SHARED )
94
-
95
- result = ENOSYS;
96
- pshared = PTHREAD_PROCESS_PRIVATE;
97
-
98
- #else
99
-
100
- result = 0;
101
-
102
- #endif /* _POSIX_THREAD_PROCESS_SHARED */
103
-
104
- }
105
- else
106
- {
107
- result = 0;
108
- }
109
-
110
- (*attr)->pshared = pshared;
111
- }
112
- else
113
- {
114
- result = EINVAL;
115
- }
116
-
117
- return (result);
118
-
119
- } /* pthread_barrierattr_setpshared */