noderb 0.0.2

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 (424) hide show
  1. data/LICENSE +19 -0
  2. data/README.md +25 -0
  3. data/ext/noderb_extension/extconf.rb +11 -0
  4. data/ext/noderb_extension/libuv/AUTHORS +11 -0
  5. data/ext/noderb_extension/libuv/LICENSE +48 -0
  6. data/ext/noderb_extension/libuv/Makefile +119 -0
  7. data/ext/noderb_extension/libuv/README +45 -0
  8. data/ext/noderb_extension/libuv/build/all.gyp +254 -0
  9. data/ext/noderb_extension/libuv/build/common.gypi +13 -0
  10. data/ext/noderb_extension/libuv/build/gyp_uv +43 -0
  11. data/ext/noderb_extension/libuv/config-mingw.mk +67 -0
  12. data/ext/noderb_extension/libuv/config-unix.mk +121 -0
  13. data/ext/noderb_extension/libuv/create-msvs-files.bat +14 -0
  14. data/ext/noderb_extension/libuv/deps/pthread-win32/ANNOUNCE +482 -0
  15. data/ext/noderb_extension/libuv/deps/pthread-win32/BUGS +141 -0
  16. data/ext/noderb_extension/libuv/deps/pthread-win32/Bmakefile +268 -0
  17. data/ext/noderb_extension/libuv/deps/pthread-win32/CONTRIBUTORS +140 -0
  18. data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING +150 -0
  19. data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING.LIB +504 -0
  20. data/ext/noderb_extension/libuv/deps/pthread-win32/ChangeLog +5194 -0
  21. data/ext/noderb_extension/libuv/deps/pthread-win32/FAQ +451 -0
  22. data/ext/noderb_extension/libuv/deps/pthread-win32/GNUmakefile +593 -0
  23. data/ext/noderb_extension/libuv/deps/pthread-win32/MAINTAINERS +4 -0
  24. data/ext/noderb_extension/libuv/deps/pthread-win32/Makefile +516 -0
  25. data/ext/noderb_extension/libuv/deps/pthread-win32/NEWS +1245 -0
  26. data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile +24 -0
  27. data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile.tests +260 -0
  28. data/ext/noderb_extension/libuv/deps/pthread-win32/PROGRESS +4 -0
  29. data/ext/noderb_extension/libuv/deps/pthread-win32/README +601 -0
  30. data/ext/noderb_extension/libuv/deps/pthread-win32/README.Borland +57 -0
  31. data/ext/noderb_extension/libuv/deps/pthread-win32/README.CV +3036 -0
  32. data/ext/noderb_extension/libuv/deps/pthread-win32/README.NONPORTABLE +783 -0
  33. data/ext/noderb_extension/libuv/deps/pthread-win32/README.Watcom +62 -0
  34. data/ext/noderb_extension/libuv/deps/pthread-win32/README.WinCE +6 -0
  35. data/ext/noderb_extension/libuv/deps/pthread-win32/TODO +7 -0
  36. data/ext/noderb_extension/libuv/deps/pthread-win32/WinCE-PORT +222 -0
  37. data/ext/noderb_extension/libuv/deps/pthread-win32/attr.c +53 -0
  38. data/ext/noderb_extension/libuv/deps/pthread-win32/autostatic.c +69 -0
  39. data/ext/noderb_extension/libuv/deps/pthread-win32/barrier.c +47 -0
  40. data/ext/noderb_extension/libuv/deps/pthread-win32/build/all.gyp +207 -0
  41. data/ext/noderb_extension/libuv/deps/pthread-win32/builddmc.bat +9 -0
  42. data/ext/noderb_extension/libuv/deps/pthread-win32/cancel.c +44 -0
  43. data/ext/noderb_extension/libuv/deps/pthread-win32/cleanup.c +148 -0
  44. data/ext/noderb_extension/libuv/deps/pthread-win32/condvar.c +50 -0
  45. data/ext/noderb_extension/libuv/deps/pthread-win32/config.h +153 -0
  46. data/ext/noderb_extension/libuv/deps/pthread-win32/context.h +74 -0
  47. data/ext/noderb_extension/libuv/deps/pthread-win32/create.c +308 -0
  48. data/ext/noderb_extension/libuv/deps/pthread-win32/dll.c +92 -0
  49. data/ext/noderb_extension/libuv/deps/pthread-win32/errno.c +94 -0
  50. data/ext/noderb_extension/libuv/deps/pthread-win32/exit.c +44 -0
  51. data/ext/noderb_extension/libuv/deps/pthread-win32/fork.c +39 -0
  52. data/ext/noderb_extension/libuv/deps/pthread-win32/global.c +107 -0
  53. data/ext/noderb_extension/libuv/deps/pthread-win32/implement.h +944 -0
  54. data/ext/noderb_extension/libuv/deps/pthread-win32/misc.c +50 -0
  55. data/ext/noderb_extension/libuv/deps/pthread-win32/mutex.c +62 -0
  56. data/ext/noderb_extension/libuv/deps/pthread-win32/need_errno.h +145 -0
  57. data/ext/noderb_extension/libuv/deps/pthread-win32/nonportable.c +47 -0
  58. data/ext/noderb_extension/libuv/deps/pthread-win32/private.c +54 -0
  59. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.c +66 -0
  60. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsp +142 -0
  61. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsw +29 -0
  62. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.h +1368 -0
  63. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_destroy.c +79 -0
  64. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getdetachstate.c +86 -0
  65. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getinheritsched.c +51 -0
  66. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedparam.c +52 -0
  67. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedpolicy.c +61 -0
  68. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getscope.c +54 -0
  69. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstackaddr.c +97 -0
  70. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstacksize.c +100 -0
  71. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_init.c +117 -0
  72. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setdetachstate.c +91 -0
  73. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setinheritsched.c +57 -0
  74. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedparam.c +63 -0
  75. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedpolicy.c +55 -0
  76. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setscope.c +62 -0
  77. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstackaddr.c +97 -0
  78. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstacksize.c +110 -0
  79. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_destroy.c +103 -0
  80. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_init.c +69 -0
  81. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_wait.c +104 -0
  82. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_destroy.c +83 -0
  83. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_getpshared.c +95 -0
  84. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_init.c +85 -0
  85. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_setpshared.c +119 -0
  86. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cancel.c +189 -0
  87. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_destroy.c +253 -0
  88. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_init.c +167 -0
  89. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_signal.c +231 -0
  90. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_wait.c +567 -0
  91. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_destroy.c +86 -0
  92. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_getpshared.c +97 -0
  93. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_init.c +87 -0
  94. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_setpshared.c +117 -0
  95. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_delay_np.c +172 -0
  96. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_detach.c +136 -0
  97. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_equal.c +76 -0
  98. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_exit.c +106 -0
  99. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getconcurrency.c +45 -0
  100. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getschedparam.c +75 -0
  101. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getspecific.c +87 -0
  102. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getunique_np.c +47 -0
  103. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getw32threadhandle_np.c +65 -0
  104. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_join.c +157 -0
  105. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_create.c +108 -0
  106. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_delete.c +125 -0
  107. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_kill.c +105 -0
  108. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_consistent.c +187 -0
  109. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_destroy.c +148 -0
  110. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_init.c +130 -0
  111. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_lock.c +269 -0
  112. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_timedlock.c +324 -0
  113. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_trylock.c +154 -0
  114. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_unlock.c +175 -0
  115. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_destroy.c +83 -0
  116. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getkind_np.c +44 -0
  117. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getpshared.c +95 -0
  118. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getrobust.c +113 -0
  119. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_gettype.c +56 -0
  120. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_init.c +86 -0
  121. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setkind_np.c +44 -0
  122. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setpshared.c +119 -0
  123. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setrobust.c +119 -0
  124. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_settype.c +143 -0
  125. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_num_processors_np.c +56 -0
  126. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_once.c +79 -0
  127. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_destroy.c +143 -0
  128. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_init.c +109 -0
  129. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_rdlock.c +102 -0
  130. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedrdlock.c +109 -0
  131. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedwrlock.c +139 -0
  132. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_tryrdlock.c +102 -0
  133. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_trywrlock.c +122 -0
  134. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_unlock.c +93 -0
  135. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_wrlock.c +133 -0
  136. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_destroy.c +84 -0
  137. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_getpshared.c +97 -0
  138. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_init.c +83 -0
  139. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_setpshared.c +120 -0
  140. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_self.c +141 -0
  141. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcancelstate.c +125 -0
  142. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcanceltype.c +126 -0
  143. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setconcurrency.c +53 -0
  144. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setschedparam.c +123 -0
  145. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setspecific.c +167 -0
  146. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_destroy.c +111 -0
  147. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_init.c +123 -0
  148. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_lock.c +80 -0
  149. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_trylock.c +77 -0
  150. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_unlock.c +71 -0
  151. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_testcancel.c +103 -0
  152. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_timechange_handler_np.c +108 -0
  153. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_win32_attach_detach_np.c +258 -0
  154. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_MCS_lock.c +278 -0
  155. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_callUserDestroyRoutines.c +232 -0
  156. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_calloc.c +56 -0
  157. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_cond_check_need_init.c +78 -0
  158. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_getprocessors.c +91 -0
  159. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_is_attr.c +47 -0
  160. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_mutex_check_need_init.c +92 -0
  161. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_new.c +94 -0
  162. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processInitialize.c +92 -0
  163. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processTerminate.c +105 -0
  164. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_relmillisecs.c +132 -0
  165. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_reuse.c +151 -0
  166. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_cancelwrwait.c +50 -0
  167. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_check_need_init.c +77 -0
  168. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_semwait.c +135 -0
  169. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_spinlock_check_need_init.c +78 -0
  170. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadDestroy.c +79 -0
  171. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadStart.c +357 -0
  172. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_throw.c +189 -0
  173. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_timespec.c +83 -0
  174. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocCreate.c +118 -0
  175. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocDestroy.c +114 -0
  176. data/ext/noderb_extension/libuv/deps/pthread-win32/rwlock.c +51 -0
  177. data/ext/noderb_extension/libuv/deps/pthread-win32/sched.c +53 -0
  178. data/ext/noderb_extension/libuv/deps/pthread-win32/sched.h +183 -0
  179. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_max.c +134 -0
  180. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_min.c +135 -0
  181. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_getscheduler.c +71 -0
  182. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_setscheduler.c +83 -0
  183. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_yield.c +71 -0
  184. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_close.c +58 -0
  185. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_destroy.c +144 -0
  186. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_getvalue.c +110 -0
  187. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_init.c +169 -0
  188. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_open.c +58 -0
  189. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post.c +128 -0
  190. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post_multiple.c +142 -0
  191. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_timedwait.c +238 -0
  192. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_trywait.c +117 -0
  193. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_unlink.c +58 -0
  194. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_wait.c +187 -0
  195. data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.c +69 -0
  196. data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.h +169 -0
  197. data/ext/noderb_extension/libuv/deps/pthread-win32/signal.c +179 -0
  198. data/ext/noderb_extension/libuv/deps/pthread-win32/spin.c +46 -0
  199. data/ext/noderb_extension/libuv/deps/pthread-win32/sync.c +43 -0
  200. data/ext/noderb_extension/libuv/deps/pthread-win32/tsd.c +44 -0
  201. data/ext/noderb_extension/libuv/deps/pthread-win32/version.rc +388 -0
  202. data/ext/noderb_extension/libuv/deps/pthread-win32/w32_CancelableWait.c +161 -0
  203. data/ext/noderb_extension/libuv/doc/desired-api.md +159 -0
  204. data/ext/noderb_extension/libuv/doc/iocp-links.html +574 -0
  205. data/ext/noderb_extension/libuv/include/ares.h +582 -0
  206. data/ext/noderb_extension/libuv/include/ares_version.h +24 -0
  207. data/ext/noderb_extension/libuv/include/eio.h +376 -0
  208. data/ext/noderb_extension/libuv/include/ev.h +835 -0
  209. data/ext/noderb_extension/libuv/include/ngx-queue.h +102 -0
  210. data/ext/noderb_extension/libuv/include/tree.h +762 -0
  211. data/ext/noderb_extension/libuv/include/uv-unix.h +138 -0
  212. data/ext/noderb_extension/libuv/include/uv-win.h +187 -0
  213. data/ext/noderb_extension/libuv/include/uv.h +635 -0
  214. data/ext/noderb_extension/libuv/src/ares/AUTHORS +37 -0
  215. data/ext/noderb_extension/libuv/src/ares/CHANGES +1198 -0
  216. data/ext/noderb_extension/libuv/src/ares/CMakeLists.txt +22 -0
  217. data/ext/noderb_extension/libuv/src/ares/NEWS +21 -0
  218. data/ext/noderb_extension/libuv/src/ares/README +60 -0
  219. data/ext/noderb_extension/libuv/src/ares/README.cares +13 -0
  220. data/ext/noderb_extension/libuv/src/ares/README.msvc +118 -0
  221. data/ext/noderb_extension/libuv/src/ares/README.node +21 -0
  222. data/ext/noderb_extension/libuv/src/ares/RELEASE-NOTES +25 -0
  223. data/ext/noderb_extension/libuv/src/ares/TODO +23 -0
  224. data/ext/noderb_extension/libuv/src/ares/ares__close_sockets.c +66 -0
  225. data/ext/noderb_extension/libuv/src/ares/ares__get_hostent.c +263 -0
  226. data/ext/noderb_extension/libuv/src/ares/ares__read_line.c +71 -0
  227. data/ext/noderb_extension/libuv/src/ares/ares__timeval.c +111 -0
  228. data/ext/noderb_extension/libuv/src/ares/ares_cancel.c +63 -0
  229. data/ext/noderb_extension/libuv/src/ares/ares_data.c +190 -0
  230. data/ext/noderb_extension/libuv/src/ares/ares_data.h +65 -0
  231. data/ext/noderb_extension/libuv/src/ares/ares_destroy.c +105 -0
  232. data/ext/noderb_extension/libuv/src/ares/ares_dns.h +90 -0
  233. data/ext/noderb_extension/libuv/src/ares/ares_expand_name.c +193 -0
  234. data/ext/noderb_extension/libuv/src/ares/ares_expand_string.c +75 -0
  235. data/ext/noderb_extension/libuv/src/ares/ares_fds.c +62 -0
  236. data/ext/noderb_extension/libuv/src/ares/ares_free_hostent.c +39 -0
  237. data/ext/noderb_extension/libuv/src/ares/ares_free_string.c +25 -0
  238. data/ext/noderb_extension/libuv/src/ares/ares_gethostbyaddr.c +292 -0
  239. data/ext/noderb_extension/libuv/src/ares/ares_gethostbyname.c +515 -0
  240. data/ext/noderb_extension/libuv/src/ares/ares_getnameinfo.c +426 -0
  241. data/ext/noderb_extension/libuv/src/ares/ares_getopt.c +122 -0
  242. data/ext/noderb_extension/libuv/src/ares/ares_getopt.h +53 -0
  243. data/ext/noderb_extension/libuv/src/ares/ares_getsock.c +72 -0
  244. data/ext/noderb_extension/libuv/src/ares/ares_init.c +1665 -0
  245. data/ext/noderb_extension/libuv/src/ares/ares_ipv6.h +78 -0
  246. data/ext/noderb_extension/libuv/src/ares/ares_library_init.c +132 -0
  247. data/ext/noderb_extension/libuv/src/ares/ares_library_init.h +39 -0
  248. data/ext/noderb_extension/libuv/src/ares/ares_llist.c +86 -0
  249. data/ext/noderb_extension/libuv/src/ares/ares_llist.h +42 -0
  250. data/ext/noderb_extension/libuv/src/ares/ares_mkquery.c +195 -0
  251. data/ext/noderb_extension/libuv/src/ares/ares_nowarn.c +59 -0
  252. data/ext/noderb_extension/libuv/src/ares/ares_nowarn.h +24 -0
  253. data/ext/noderb_extension/libuv/src/ares/ares_options.c +253 -0
  254. data/ext/noderb_extension/libuv/src/ares/ares_parse_a_reply.c +260 -0
  255. data/ext/noderb_extension/libuv/src/ares/ares_parse_aaaa_reply.c +256 -0
  256. data/ext/noderb_extension/libuv/src/ares/ares_parse_mx_reply.c +170 -0
  257. data/ext/noderb_extension/libuv/src/ares/ares_parse_ns_reply.c +182 -0
  258. data/ext/noderb_extension/libuv/src/ares/ares_parse_ptr_reply.c +208 -0
  259. data/ext/noderb_extension/libuv/src/ares/ares_parse_srv_reply.c +179 -0
  260. data/ext/noderb_extension/libuv/src/ares/ares_parse_txt_reply.c +201 -0
  261. data/ext/noderb_extension/libuv/src/ares/ares_private.h +351 -0
  262. data/ext/noderb_extension/libuv/src/ares/ares_process.c +1296 -0
  263. data/ext/noderb_extension/libuv/src/ares/ares_query.c +183 -0
  264. data/ext/noderb_extension/libuv/src/ares/ares_rules.h +144 -0
  265. data/ext/noderb_extension/libuv/src/ares/ares_search.c +322 -0
  266. data/ext/noderb_extension/libuv/src/ares/ares_send.c +134 -0
  267. data/ext/noderb_extension/libuv/src/ares/ares_setup.h +191 -0
  268. data/ext/noderb_extension/libuv/src/ares/ares_strcasecmp.c +66 -0
  269. data/ext/noderb_extension/libuv/src/ares/ares_strcasecmp.h +30 -0
  270. data/ext/noderb_extension/libuv/src/ares/ares_strdup.c +42 -0
  271. data/ext/noderb_extension/libuv/src/ares/ares_strdup.h +26 -0
  272. data/ext/noderb_extension/libuv/src/ares/ares_strerror.c +56 -0
  273. data/ext/noderb_extension/libuv/src/ares/ares_timeout.c +80 -0
  274. data/ext/noderb_extension/libuv/src/ares/ares_version.c +11 -0
  275. data/ext/noderb_extension/libuv/src/ares/ares_writev.c +79 -0
  276. data/ext/noderb_extension/libuv/src/ares/ares_writev.h +36 -0
  277. data/ext/noderb_extension/libuv/src/ares/bitncmp.c +59 -0
  278. data/ext/noderb_extension/libuv/src/ares/bitncmp.h +26 -0
  279. data/ext/noderb_extension/libuv/src/ares/config_cygwin/ares_config.h +510 -0
  280. data/ext/noderb_extension/libuv/src/ares/config_darwin/ares_config.h +510 -0
  281. data/ext/noderb_extension/libuv/src/ares/config_freebsd/ares_config.h +510 -0
  282. data/ext/noderb_extension/libuv/src/ares/config_linux/ares_config.h +510 -0
  283. data/ext/noderb_extension/libuv/src/ares/config_openbsd/ares_config.h +510 -0
  284. data/ext/noderb_extension/libuv/src/ares/config_sunos/ares_config.h +510 -0
  285. data/ext/noderb_extension/libuv/src/ares/config_win32/ares_config.h +369 -0
  286. data/ext/noderb_extension/libuv/src/ares/get_ver.awk +35 -0
  287. data/ext/noderb_extension/libuv/src/ares/inet_net_pton.c +450 -0
  288. data/ext/noderb_extension/libuv/src/ares/inet_net_pton.h +31 -0
  289. data/ext/noderb_extension/libuv/src/ares/inet_ntop.c +232 -0
  290. data/ext/noderb_extension/libuv/src/ares/inet_ntop.h +27 -0
  291. data/ext/noderb_extension/libuv/src/ares/nameser.h +193 -0
  292. data/ext/noderb_extension/libuv/src/ares/setup_once.h +488 -0
  293. data/ext/noderb_extension/libuv/src/ares/windows_port.c +22 -0
  294. data/ext/noderb_extension/libuv/src/eio/Changes +63 -0
  295. data/ext/noderb_extension/libuv/src/eio/LICENSE +36 -0
  296. data/ext/noderb_extension/libuv/src/eio/Makefile.am +15 -0
  297. data/ext/noderb_extension/libuv/src/eio/aclocal.m4 +8957 -0
  298. data/ext/noderb_extension/libuv/src/eio/autogen.sh +3 -0
  299. data/ext/noderb_extension/libuv/src/eio/config.h.in +86 -0
  300. data/ext/noderb_extension/libuv/src/eio/config_cygwin.h +77 -0
  301. data/ext/noderb_extension/libuv/src/eio/config_darwin.h +137 -0
  302. data/ext/noderb_extension/libuv/src/eio/config_freebsd.h +78 -0
  303. data/ext/noderb_extension/libuv/src/eio/config_linux.h +101 -0
  304. data/ext/noderb_extension/libuv/src/eio/config_sunos.h +81 -0
  305. data/ext/noderb_extension/libuv/src/eio/configure.ac +22 -0
  306. data/ext/noderb_extension/libuv/src/eio/demo.c +194 -0
  307. data/ext/noderb_extension/libuv/src/eio/ecb.h +370 -0
  308. data/ext/noderb_extension/libuv/src/eio/eio.3 +3428 -0
  309. data/ext/noderb_extension/libuv/src/eio/eio.c +2562 -0
  310. data/ext/noderb_extension/libuv/src/eio/eio.pod +969 -0
  311. data/ext/noderb_extension/libuv/src/eio/libeio.m4 +195 -0
  312. data/ext/noderb_extension/libuv/src/eio/xthread.h +164 -0
  313. data/ext/noderb_extension/libuv/src/ev/Changes +388 -0
  314. data/ext/noderb_extension/libuv/src/ev/LICENSE +36 -0
  315. data/ext/noderb_extension/libuv/src/ev/Makefile.am +18 -0
  316. data/ext/noderb_extension/libuv/src/ev/Makefile.in +771 -0
  317. data/ext/noderb_extension/libuv/src/ev/README +58 -0
  318. data/ext/noderb_extension/libuv/src/ev/aclocal.m4 +8957 -0
  319. data/ext/noderb_extension/libuv/src/ev/autogen.sh +6 -0
  320. data/ext/noderb_extension/libuv/src/ev/config.guess +1526 -0
  321. data/ext/noderb_extension/libuv/src/ev/config.h.in +125 -0
  322. data/ext/noderb_extension/libuv/src/ev/config.sub +1658 -0
  323. data/ext/noderb_extension/libuv/src/ev/config_cygwin.h +123 -0
  324. data/ext/noderb_extension/libuv/src/ev/config_darwin.h +122 -0
  325. data/ext/noderb_extension/libuv/src/ev/config_freebsd.h +120 -0
  326. data/ext/noderb_extension/libuv/src/ev/config_linux.h +130 -0
  327. data/ext/noderb_extension/libuv/src/ev/config_sunos.h +122 -0
  328. data/ext/noderb_extension/libuv/src/ev/configure +13037 -0
  329. data/ext/noderb_extension/libuv/src/ev/configure.ac +18 -0
  330. data/ext/noderb_extension/libuv/src/ev/depcomp +630 -0
  331. data/ext/noderb_extension/libuv/src/ev/ev++.h +816 -0
  332. data/ext/noderb_extension/libuv/src/ev/ev.3 +5311 -0
  333. data/ext/noderb_extension/libuv/src/ev/ev.c +3913 -0
  334. data/ext/noderb_extension/libuv/src/ev/ev.pod +5243 -0
  335. data/ext/noderb_extension/libuv/src/ev/ev_epoll.c +266 -0
  336. data/ext/noderb_extension/libuv/src/ev/ev_kqueue.c +198 -0
  337. data/ext/noderb_extension/libuv/src/ev/ev_poll.c +148 -0
  338. data/ext/noderb_extension/libuv/src/ev/ev_port.c +179 -0
  339. data/ext/noderb_extension/libuv/src/ev/ev_select.c +310 -0
  340. data/ext/noderb_extension/libuv/src/ev/ev_vars.h +203 -0
  341. data/ext/noderb_extension/libuv/src/ev/ev_win32.c +153 -0
  342. data/ext/noderb_extension/libuv/src/ev/ev_wrap.h +196 -0
  343. data/ext/noderb_extension/libuv/src/ev/event.c +402 -0
  344. data/ext/noderb_extension/libuv/src/ev/event.h +170 -0
  345. data/ext/noderb_extension/libuv/src/ev/install-sh +294 -0
  346. data/ext/noderb_extension/libuv/src/ev/libev.m4 +39 -0
  347. data/ext/noderb_extension/libuv/src/ev/ltmain.sh +8413 -0
  348. data/ext/noderb_extension/libuv/src/ev/missing +336 -0
  349. data/ext/noderb_extension/libuv/src/ev/mkinstalldirs +111 -0
  350. data/ext/noderb_extension/libuv/src/uv-common.c +172 -0
  351. data/ext/noderb_extension/libuv/src/uv-common.h +53 -0
  352. data/ext/noderb_extension/libuv/src/uv-cygwin.c +52 -0
  353. data/ext/noderb_extension/libuv/src/uv-darwin.c +64 -0
  354. data/ext/noderb_extension/libuv/src/uv-eio.c +113 -0
  355. data/ext/noderb_extension/libuv/src/uv-eio.h +13 -0
  356. data/ext/noderb_extension/libuv/src/uv-freebsd.c +65 -0
  357. data/ext/noderb_extension/libuv/src/uv-linux.c +51 -0
  358. data/ext/noderb_extension/libuv/src/uv-sunos.c +60 -0
  359. data/ext/noderb_extension/libuv/src/uv-unix.c +2408 -0
  360. data/ext/noderb_extension/libuv/src/win/async.c +129 -0
  361. data/ext/noderb_extension/libuv/src/win/cares.c +304 -0
  362. data/ext/noderb_extension/libuv/src/win/core.c +155 -0
  363. data/ext/noderb_extension/libuv/src/win/error.c +140 -0
  364. data/ext/noderb_extension/libuv/src/win/getaddrinfo.c +341 -0
  365. data/ext/noderb_extension/libuv/src/win/handle.c +176 -0
  366. data/ext/noderb_extension/libuv/src/win/internal.h +237 -0
  367. data/ext/noderb_extension/libuv/src/win/loop-watcher.c +128 -0
  368. data/ext/noderb_extension/libuv/src/win/pipe.c +828 -0
  369. data/ext/noderb_extension/libuv/src/win/process.c +936 -0
  370. data/ext/noderb_extension/libuv/src/win/req.c +141 -0
  371. data/ext/noderb_extension/libuv/src/win/stdio.c +75 -0
  372. data/ext/noderb_extension/libuv/src/win/stream.c +149 -0
  373. data/ext/noderb_extension/libuv/src/win/tcp.c +895 -0
  374. data/ext/noderb_extension/libuv/src/win/timer.c +269 -0
  375. data/ext/noderb_extension/libuv/src/win/util.c +82 -0
  376. data/ext/noderb_extension/libuv/test/benchmark-ares.c +117 -0
  377. data/ext/noderb_extension/libuv/test/benchmark-getaddrinfo.c +90 -0
  378. data/ext/noderb_extension/libuv/test/benchmark-list.h +77 -0
  379. data/ext/noderb_extension/libuv/test/benchmark-ping-pongs.c +210 -0
  380. data/ext/noderb_extension/libuv/test/benchmark-pound.c +237 -0
  381. data/ext/noderb_extension/libuv/test/benchmark-pump.c +459 -0
  382. data/ext/noderb_extension/libuv/test/benchmark-sizes.c +39 -0
  383. data/ext/noderb_extension/libuv/test/benchmark-spawn.c +154 -0
  384. data/ext/noderb_extension/libuv/test/dns-server.c +323 -0
  385. data/ext/noderb_extension/libuv/test/echo-server.c +299 -0
  386. data/ext/noderb_extension/libuv/test/run-benchmarks.c +64 -0
  387. data/ext/noderb_extension/libuv/test/run-tests.c +82 -0
  388. data/ext/noderb_extension/libuv/test/runner-unix.c +335 -0
  389. data/ext/noderb_extension/libuv/test/runner-unix.h +36 -0
  390. data/ext/noderb_extension/libuv/test/runner-win.c +343 -0
  391. data/ext/noderb_extension/libuv/test/runner-win.h +42 -0
  392. data/ext/noderb_extension/libuv/test/runner.c +311 -0
  393. data/ext/noderb_extension/libuv/test/runner.h +155 -0
  394. data/ext/noderb_extension/libuv/test/task.h +111 -0
  395. data/ext/noderb_extension/libuv/test/test-async.c +218 -0
  396. data/ext/noderb_extension/libuv/test/test-callback-stack.c +205 -0
  397. data/ext/noderb_extension/libuv/test/test-connection-fail.c +149 -0
  398. data/ext/noderb_extension/libuv/test/test-delayed-accept.c +198 -0
  399. data/ext/noderb_extension/libuv/test/test-fail-always.c +29 -0
  400. data/ext/noderb_extension/libuv/test/test-get-currentexe.c +53 -0
  401. data/ext/noderb_extension/libuv/test/test-getaddrinfo.c +110 -0
  402. data/ext/noderb_extension/libuv/test/test-gethostbyname.c +192 -0
  403. data/ext/noderb_extension/libuv/test/test-getsockname.c +196 -0
  404. data/ext/noderb_extension/libuv/test/test-hrtime.c +51 -0
  405. data/ext/noderb_extension/libuv/test/test-idle.c +83 -0
  406. data/ext/noderb_extension/libuv/test/test-list.h +165 -0
  407. data/ext/noderb_extension/libuv/test/test-loop-handles.c +361 -0
  408. data/ext/noderb_extension/libuv/test/test-pass-always.c +28 -0
  409. data/ext/noderb_extension/libuv/test/test-ping-pong.c +256 -0
  410. data/ext/noderb_extension/libuv/test/test-pipe-bind-error.c +148 -0
  411. data/ext/noderb_extension/libuv/test/test-ref.c +91 -0
  412. data/ext/noderb_extension/libuv/test/test-shutdown-eof.c +183 -0
  413. data/ext/noderb_extension/libuv/test/test-spawn.c +345 -0
  414. data/ext/noderb_extension/libuv/test/test-tcp-bind-error.c +204 -0
  415. data/ext/noderb_extension/libuv/test/test-tcp-bind6-error.c +164 -0
  416. data/ext/noderb_extension/libuv/test/test-tcp-writealot.c +198 -0
  417. data/ext/noderb_extension/libuv/test/test-timer-again.c +141 -0
  418. data/ext/noderb_extension/libuv/test/test-timer.c +134 -0
  419. data/ext/noderb_extension/noderb.c +340 -0
  420. data/ext/noderb_extension/noderb.h +2 -0
  421. data/lib/noderb/connection.rb +21 -0
  422. data/lib/noderb/process.rb +17 -0
  423. data/lib/noderb.rb +25 -0
  424. metadata +470 -0
@@ -0,0 +1,141 @@
1
+ ----------
2
+ Known bugs
3
+ ----------
4
+
5
+ 1. Not strictly a bug, more of a gotcha.
6
+
7
+ Under MS VC++ (only tested with version 6.0), a term_func
8
+ set via the standard C++ set_terminate() function causes the
9
+ application to abort.
10
+
11
+ Notes from the MSVC++ manual:
12
+ 1) A term_func() should call exit(), otherwise
13
+ abort() will be called on return to the caller.
14
+ A call to abort() raises SIGABRT and the default signal handler
15
+ for all signals terminates the calling program with
16
+ exit code 3.
17
+ 2) A term_func() must not throw an exception. Therefore
18
+ term_func() should not call pthread_exit(), which
19
+ works by throwing an exception (pthreadVCE or pthreadVSE)
20
+ or by calling longjmp (pthreadVC).
21
+
22
+ Workaround: avoid using pthread_exit() in C++ applications. Exit
23
+ threads by dropping through the end of the thread routine.
24
+
25
+ 2. Cancellation problems in C++ builds
26
+ - Milan Gardian
27
+
28
+ [Note: It's not clear if this problem isn't simply due to the context
29
+ switch in pthread_cancel() which occurs unless the QueueUserAPCEx
30
+ library and driver are installed and used. Just like setjmp/longjmp,
31
+ this is probably not going to work well in C++. In any case, unless for
32
+ some very unusual reason you really must use the C++ build then please
33
+ use the C build pthreadVC2.dll or pthreadGC2.dll, i.e. for C++
34
+ applications.]
35
+
36
+ This is suspected to be a compiler bug in VC6.0, and also seen in
37
+ VC7.0 and VS .NET 2003. The GNU C++ compiler does not have a problem
38
+ with this, and it has been reported that the Intel C++ 8.1 compiler
39
+ and Visual C++ 2005 Express Edition Beta2 pass tests\semaphore4.c
40
+ (which exposes the bug).
41
+
42
+ Workaround [rpj - 2 Feb 2002]
43
+ -----------------------------
44
+ [Please note: this workaround did not solve a similar problem in
45
+ snapshot-2004-11-03 or later, even though similar symptoms were seen.
46
+ tests\semaphore4.c fails in that snapshot for the VCE version of the
47
+ DLL.]
48
+
49
+ The problem disappears when /Ob0 is used, i.e. /O2 /Ob0 works OK,
50
+ but if you want to use inlining optimisation you can be much more
51
+ specific about where it's switched off and on by using a pragma.
52
+
53
+ So the inlining optimisation is interfering with the way that cleanup
54
+ handlers are run. It appears to relate to auto-inlining of class methods
55
+ since this is the only auto inlining that is performed at /O1 optimisation
56
+ (functions with the "inline" qualifier are also inlined, but the problem
57
+ doesn't appear to involve any such functions in the library or testsuite).
58
+
59
+ In order to confirm the inlining culprit, the following use of pragmas
60
+ eliminate the problem but I don't know how to make it transparent, putting
61
+ it in, say, pthread.h where pthread_cleanup_push defined as a macro.
62
+
63
+ #pragma inline_depth(0)
64
+ pthread_cleanup_push(handlerFunc, (void *) &arg);
65
+
66
+ /* ... */
67
+
68
+ pthread_cleanup_pop(0);
69
+ #pragma inline_depth()
70
+
71
+ Note the empty () pragma value after the pop macro. This resets depth to the
72
+ default. Or you can specify a non-zero depth here.
73
+
74
+ The pragma is also needed (and now used) within the library itself wherever
75
+ cleanup handlers are used (condvar.c and rwlock.c).
76
+
77
+ Use of these pragmas allows compiler optimisations /O1 and /O2 to be
78
+ used for either or both the library and applications.
79
+
80
+ Experimenting further, I found that wrapping the actual cleanup handler
81
+ function with #pragma auto_inline(off|on) does NOT work.
82
+
83
+ MSVC6.0 doesn't appear to support the C99 standard's _Pragma directive,
84
+ however, later versions may. This form is embeddable inside #define
85
+ macros, which would be ideal because it would mean that it could be added
86
+ to the push/pop macro definitions in pthread.h and hidden from the
87
+ application programmer.
88
+
89
+ [/rpj]
90
+
91
+ Original problem description
92
+ ----------------------------
93
+
94
+ The cancellation (actually, cleanup-after-cancel) tests fail when using VC
95
+ (professional) optimisation switches (/O1 or /O2) in pthreads library. I
96
+ have not investigated which concrete optimisation technique causes this
97
+ problem (/Og, /Oi, /Ot, /Oy, /Ob1, /Gs, /Gf, /Gy, etc.), but here is a
98
+ summary of builds and corresponding failures:
99
+
100
+ * pthreads VSE (optimised tests): OK
101
+ * pthreads VCE (optimised tests): Failed "cleanup1" test (runtime)
102
+
103
+ * pthreads VSE (DLL in CRT, optimised tests): OK
104
+ * pthreads VCE (DLL in CRT, optimised tests): Failed "cleanup1" test
105
+ (runtime)
106
+
107
+ Please note that while in VSE version of the pthreads library the
108
+ optimisation does not really have any impact on the tests (they pass OK), in
109
+ VCE version addition of optimisation (/O2 in this case) causes the tests to
110
+ fail uniformly - either in "cleanup0" or "cleanup1" test cases.
111
+
112
+ Please note that all the tests above use default pthreads DLL (no
113
+ optimisations, linked with either static or DLL CRT, based on test type).
114
+ Therefore the problem lies not within the pthreads DLL but within the
115
+ compiled client code (the application using pthreads -> involvement of
116
+ "pthread.h").
117
+
118
+ I think the message of this section is that usage of VCE version of pthreads
119
+ in applications relying on cancellation/cleanup AND using optimisations for
120
+ creation of production code is highly unreliable for the current version of
121
+ the pthreads library.
122
+
123
+ 3. The Borland Builder 5.5 version of the library produces memory read exceptions
124
+ in some tests.
125
+
126
+ 4. pthread_barrier_wait() can deadlock if the number of potential calling
127
+ threads for a particular barrier is greater than the barrier count parameter
128
+ given to pthread_barrier_init() for that barrier.
129
+
130
+ This is due to the very lightweight implementation of pthread-win32 barriers.
131
+ To cope with more than "count" possible waiters, barriers must effectively
132
+ implement all the same safeguards as condition variables, making them much
133
+ "heavier" than at present.
134
+
135
+ The workaround is to ensure that no more than "count" threads attempt to wait
136
+ at the barrier.
137
+
138
+ 5. Canceling a thread blocked on pthread_once appears not to work in the MSVC++
139
+ version of the library "pthreadVCE.dll". The test case "once3.c" hangs. I have no
140
+ clues on this at present. All other versions pass this test ok - pthreadsVC.dll,
141
+ pthreadsVSE.dll, pthreadsGC.dll and pthreadsGCE.dll.
@@ -0,0 +1,268 @@
1
+ # This makefile is compatible with BCB make. Use "make -fBMakefile" to compile.
2
+ #
3
+ # The variables $DLLDEST and $LIBDEST hold the destination directories for the
4
+ # dll and the lib, respectively. Probably all that needs to change is $DEVROOT.
5
+ #
6
+ # Currently only the recommended pthreadBC.dll is built by this makefile.
7
+ #
8
+
9
+
10
+ DLL_VER = 2
11
+
12
+ DEVROOT = .
13
+
14
+ DLLDEST = $(DEVROOT)\DLL
15
+ LIBDEST = $(DEVROOT)\DLL
16
+
17
+ DLLS = pthreadBC$(DLL_VER).dll
18
+
19
+ OPTIM = /O2
20
+
21
+ RC = brcc32
22
+ RCFLAGS = -i.
23
+
24
+ CFLAGS = /q /I. /D_WIN32_WINNT=0x400 /DHAVE_PTW32_CONFIG_H=1 /4 /tWD /tWM \
25
+ /w-aus /w-asc /w-par
26
+
27
+ #C cleanup code
28
+ BCFLAGS = $(PTW32_FLAGS) $(CFLAGS)
29
+
30
+ # Agregate modules for inlinability
31
+ DLL_OBJS = \
32
+ attr.obj \
33
+ barrier.obj \
34
+ cancel.obj \
35
+ cleanup.obj \
36
+ condvar.obj \
37
+ create.obj \
38
+ dll.obj \
39
+ errno.obj \
40
+ exit.obj \
41
+ fork.obj \
42
+ global.obj \
43
+ misc.obj \
44
+ mutex.obj \
45
+ nonportable.obj \
46
+ private.obj \
47
+ rwlock.obj \
48
+ sched.obj \
49
+ semaphore.obj \
50
+ signal.obj \
51
+ spin.obj \
52
+ sync.obj \
53
+ tsd.obj
54
+
55
+ INCL = config.h implement.h semaphore.h pthread.h need_errno.h
56
+
57
+ ATTR_SRCS = \
58
+ pthread_attr_init.c \
59
+ pthread_attr_destroy.c \
60
+ pthread_attr_getdetachstate.c \
61
+ pthread_attr_setdetachstate.c \
62
+ pthread_attr_getstackaddr.c \
63
+ pthread_attr_setstackaddr.c \
64
+ pthread_attr_getstacksize.c \
65
+ pthread_attr_setstacksize.c \
66
+ pthread_attr_getscope.c \
67
+ pthread_attr_setscope.c
68
+
69
+ BARRIER_SRCS = \
70
+ pthread_barrier_init.c \
71
+ pthread_barrier_destroy.c \
72
+ pthread_barrier_wait.c \
73
+ pthread_barrierattr_init.c \
74
+ pthread_barrierattr_destroy.c \
75
+ pthread_barrierattr_setpshared.c \
76
+ pthread_barrierattr_getpshared.c
77
+
78
+ CANCEL_SRCS = \
79
+ pthread_setcancelstate.c \
80
+ pthread_setcanceltype.c \
81
+ pthread_testcancel.c \
82
+ pthread_cancel.c
83
+
84
+ CONDVAR_SRCS = \
85
+ ptw32_cond_check_need_init.c \
86
+ pthread_condattr_destroy.c \
87
+ pthread_condattr_getpshared.c \
88
+ pthread_condattr_init.c \
89
+ pthread_condattr_setpshared.c \
90
+ pthread_cond_destroy.c \
91
+ pthread_cond_init.c \
92
+ pthread_cond_signal.c \
93
+ pthread_cond_wait.c
94
+
95
+ EXIT_SRCS = \
96
+ pthread_exit.c
97
+
98
+ MISC_SRCS = \
99
+ pthread_equal.c \
100
+ pthread_getconcurrency.c \
101
+ pthread_once.c \
102
+ pthread_self.c \
103
+ pthread_setconcurrency.c \
104
+ ptw32_calloc.c \
105
+ ptw32_MCS_lock.c \
106
+ ptw32_new.c \
107
+ w32_CancelableWait.c
108
+
109
+ MUTEX_SRCS = \
110
+ ptw32_mutex_check_need_init.c \
111
+ pthread_mutex_init.c \
112
+ pthread_mutex_destroy.c \
113
+ pthread_mutexattr_init.c \
114
+ pthread_mutexattr_destroy.c \
115
+ pthread_mutexattr_getpshared.c \
116
+ pthread_mutexattr_setpshared.c \
117
+ pthread_mutexattr_settype.c \
118
+ pthread_mutexattr_gettype.c \
119
+ pthread_mutexattr_setrobust.c \
120
+ pthread_mutexattr_getrobust.c \
121
+ pthread_mutex_lock.c \
122
+ pthread_mutex_timedlock.c \
123
+ pthread_mutex_unlock.c \
124
+ pthread_mutex_trylock.c \
125
+ pthread_mutex_consistent.c
126
+
127
+ NONPORTABLE_SRCS = \
128
+ pthread_mutexattr_setkind_np.c \
129
+ pthread_mutexattr_getkind_np.c \
130
+ pthread_getw32threadhandle_np.c \
131
+ pthread_delay_np.c \
132
+ pthread_num_processors_np.c \
133
+ pthread_win32_attach_detach_np.c \
134
+ pthread_timechange_handler_np.c
135
+
136
+ PRIVATE_SRCS = \
137
+ ptw32_is_attr.c \
138
+ ptw32_processInitialize.c \
139
+ ptw32_processTerminate.c \
140
+ ptw32_threadStart.c \
141
+ ptw32_threadDestroy.c \
142
+ ptw32_tkAssocCreate.c \
143
+ ptw32_tkAssocDestroy.c \
144
+ ptw32_callUserDestroyRoutines.c \
145
+ ptw32_timespec.c \
146
+ ptw32_relmillisecs.c \
147
+ ptw32_throw.c \
148
+ ptw32_getprocessors.c
149
+
150
+ RWLOCK_SRCS = \
151
+ ptw32_rwlock_check_need_init.c \
152
+ ptw32_rwlock_cancelwrwait.c \
153
+ pthread_rwlock_init.c \
154
+ pthread_rwlock_destroy.c \
155
+ pthread_rwlockattr_init.c \
156
+ pthread_rwlockattr_destroy.c \
157
+ pthread_rwlockattr_getpshared.c \
158
+ pthread_rwlockattr_setpshared.c \
159
+ pthread_rwlock_rdlock.c \
160
+ pthread_rwlock_timedrdlock.c \
161
+ pthread_rwlock_wrlock.c \
162
+ pthread_rwlock_timedwrlock.c \
163
+ pthread_rwlock_unlock.c \
164
+ pthread_rwlock_tryrdlock.c \
165
+ pthread_rwlock_trywrlock.c
166
+
167
+ SCHED_SRCS = \
168
+ pthread_attr_setschedpolicy.c \
169
+ pthread_attr_getschedpolicy.c \
170
+ pthread_attr_setschedparam.c \
171
+ pthread_attr_getschedparam.c \
172
+ pthread_attr_setinheritsched.c \
173
+ pthread_attr_getinheritsched.c \
174
+ pthread_setschedparam.c \
175
+ pthread_getschedparam.c \
176
+ sched_get_priority_max.c \
177
+ sched_get_priority_min.c \
178
+ sched_setscheduler.c \
179
+ sched_getscheduler.c \
180
+ sched_yield.c
181
+
182
+ SEMAPHORE_SRCS = \
183
+ sem_init.c \
184
+ sem_destroy.c \
185
+ sem_trywait.c \
186
+ sem_timedwait.c \
187
+ sem_wait.c \
188
+ sem_post.c \
189
+ sem_post_multiple.c \
190
+ sem_getvalue.c \
191
+ sem_open.c \
192
+ sem_close.c \
193
+ sem_unlink.c
194
+
195
+ SPIN_SRCS = \
196
+ ptw32_spinlock_check_need_init.c \
197
+ pthread_spin_init.c \
198
+ pthread_spin_destroy.c \
199
+ pthread_spin_lock.c \
200
+ pthread_spin_unlock.c \
201
+ pthread_spin_trylock.c
202
+
203
+ SYNC_SRCS = \
204
+ pthread_detach.c \
205
+ pthread_join.c
206
+
207
+ TSD_SRCS = \
208
+ pthread_key_create.c \
209
+ pthread_key_delete.c \
210
+ pthread_setspecific.c \
211
+ pthread_getspecific.c
212
+
213
+
214
+ all: clean $(DLLS)
215
+
216
+ realclean: clean
217
+ if exist pthread*.dll del pthread*.dll
218
+ if exist pthread*.lib del pthread*.lib
219
+ if exist *.stamp del *.stamp
220
+
221
+ clean:
222
+ if exist *.obj del *.obj
223
+ if exist *.ilk del *.ilk
224
+ if exist *.ilc del *.ilc
225
+ if exist *.ild del *.ild
226
+ if exist *.ilf del *.ilf
227
+ if exist *.ils del *.ils
228
+ if exist *.tds del *.tds
229
+ if exist *.pdb del *.pdb
230
+ if exist *.exp del *.exp
231
+ if exist *.map del *.map
232
+ if exist *.o del *.o
233
+ if exist *.i del *.i
234
+ if exist *.res del *.res
235
+
236
+
237
+ install: $(DLLS)
238
+ copy pthread*.dll $(DLLDEST)
239
+ copy pthread*.lib $(LIBDEST)
240
+
241
+ $(DLLS): $(DLL_OBJS) version.res
242
+ ilink32 /Tpd /Gi c0d32x.obj $(DLL_OBJS), \
243
+ $@, ,\
244
+ cw32mti.lib import32.lib, ,\
245
+ version.res
246
+
247
+ .c.obj:
248
+ $(CC) $(OPTIM) $(BCFLAGS) -c $<
249
+
250
+ .rc.res:
251
+ $(RC) $(RCFLAGS) $<
252
+
253
+ attr.obj: attr.c $(ATTR_SRCS) $(INCL)
254
+ barrier.obj: barrier.c $(BARRIER_SRCS) $(INCL)
255
+ cancel.obj: cancel.c $(CANCEL_SRCS) $(INCL)
256
+ condvar.obj: condvar.c $(CONDVAR_SRCS) $(INCL)
257
+ exit.obj: exit.c $(EXIT_SRCS) $(INCL)
258
+ misc.obj: misc.c $(MISC_SRCS) $(INCL)
259
+ mutex.obj: mutex.c $(MUTEX_SRCS) $(INCL)
260
+ nonportable.obj: nonportable.c $(NONPORTABLE_SRCS) $(INCL)
261
+ private.obj: private.c $(PRIVATE_SRCS) $(INCL)
262
+ rwlock.obj: rwlock.c $(RWLOCK_SRCS) $(INCL)
263
+ sched.obj: sched.c $(SCHED_SRCS) $(INCL)
264
+ semaphore.obj: semaphore.c $(SEMAPHORE_SRCS) $(INCL)
265
+ spin.obj: spin.c $(SPIN_SRCS) $(INCL)
266
+ sync.obj: sync.c $(SYNC_SRCS) $(INCL)
267
+ tsd.obj: tsd.c $(TSD_SRCS) $(INCL)
268
+ version.res: version.rc $(INCL)
@@ -0,0 +1,140 @@
1
+ Contributors (in approximate order of appearance)
2
+
3
+ [See also the ChangeLog file where individuals are
4
+ attributed in log entries. Likewise in the FAQ file.]
5
+
6
+ Ben Elliston bje at cygnus dot com
7
+ Initiated the project;
8
+ setup the project infrastructure (CVS, web page, etc.);
9
+ early prototype routines.
10
+ Ross Johnson Ross dot Johnson at dot homemail dot com dot au
11
+ early prototype routines;
12
+ ongoing project coordination/maintenance;
13
+ implementation of spin locks and barriers;
14
+ various enhancements;
15
+ bug fixes;
16
+ documentation;
17
+ testsuite.
18
+ Robert Colquhoun rjc at trump dot net dot au
19
+ Early bug fixes.
20
+ John E. Bossom John dot Bossom at cognos dot com
21
+ Contributed substantial original working implementation;
22
+ bug fixes;
23
+ ongoing guidance and standards interpretation.
24
+ Anders Norlander anorland at hem2 dot passagen dot se
25
+ Early enhancements and runtime checking for supported
26
+ Win32 routines.
27
+ Tor Lillqvist tml at iki dot fi
28
+ General enhancements;
29
+ early bug fixes to condition variables.
30
+ Scott Lightner scott at curriculum dot com
31
+ Bug fix.
32
+ Kevin Ruland Kevin dot Ruland at anheuser-busch dot com
33
+ Various bug fixes.
34
+ Mike Russo miker at eai dot com
35
+ Bug fix.
36
+ Mark E. Armstrong avail at pacbell dot net
37
+ Bug fixes.
38
+ Lorin Hochstein lmh at xiphos dot ca
39
+ general bug fixes; bug fixes to condition variables.
40
+ Peter Slacik Peter dot Slacik at tatramed dot sk
41
+ Bug fixes.
42
+ Mumit Khan khan at xraylith dot wisc dot edu
43
+ Fixes to work with Mingw32.
44
+ Milan Gardian mg at tatramed dot sk
45
+ Bug fixes and reports/analyses of obscure problems.
46
+ Aurelio Medina aureliom at crt dot com
47
+ First implementation of read-write locks.
48
+ Graham Dumpleton Graham dot Dumpleton at ra dot pad dot otc dot telstra dot com dot au
49
+ Bug fix in condition variables.
50
+ Tristan Savatier tristan at mpegtv dot com
51
+ WinCE port.
52
+ Erik Hensema erik at hensema dot xs4all dot nl
53
+ Bug fixes.
54
+ Rich Peters rpeters at micro-magic dot com
55
+ Todd Owen towen at lucidcalm dot dropbear dot id dot au
56
+ Bug fixes to dll loading.
57
+ Jason Nye jnye at nbnet dot nb dot ca
58
+ Implementation of async cancelation.
59
+ Fred Forester fforest at eticomm dot net
60
+ Kevin D. Clark kclark at cabletron dot com
61
+ David Baggett dmb at itasoftware dot com
62
+ Bug fixes.
63
+ Paul Redondo paul at matchvision dot com
64
+ Scott McCaskill scott at 3dfx dot com
65
+ Bug fixes.
66
+ Jef Gearhart jgearhart at tpssys dot com
67
+ Bug fix.
68
+ Arthur Kantor akantor at bexusa dot com
69
+ Mutex enhancements.
70
+ Steven Reddie smr at essemer dot com dot au
71
+ Bug fix.
72
+ Alexander Terekhov TEREKHOV at de dot ibm dot com
73
+ Re-implemented and improved read-write locks;
74
+ (with Louis Thomas) re-implemented and improved
75
+ condition variables;
76
+ enhancements to semaphores;
77
+ enhancements to mutexes;
78
+ new mutex implementation in 'futex' style;
79
+ suggested a robust implementation of pthread_once
80
+ similar to that implemented by V.Kliathcko;
81
+ system clock change handling re CV timeouts;
82
+ bug fixes.
83
+ Thomas Pfaff tpfaff at gmx dot net
84
+ Changes to make C version usable with C++ applications;
85
+ re-implemented mutex routines to avoid Win32 mutexes
86
+ and TryEnterCriticalSection;
87
+ procedure to fix Mingw32 thread-safety issues.
88
+ Franco Bez franco dot bez at gmx dot de
89
+ procedure to fix Mingw32 thread-safety issues.
90
+ Louis Thomas lthomas at arbitrade dot com
91
+ (with Alexander Terekhov) re-implemented and improved
92
+ condition variables.
93
+ David Korn dgk at research dot att dot com
94
+ Ported to UWIN.
95
+ Phil Frisbie, Jr. phil at hawksoft dot com
96
+ Bug fix.
97
+ Ralf Brese Ralf dot Brese at pdb4 dot siemens dot de
98
+ Bug fix.
99
+ prionx at juno dot com prionx at juno dot com
100
+ Bug fixes.
101
+ Max Woodbury mtew at cds dot duke dot edu
102
+ POSIX versioning conditionals;
103
+ reduced namespace pollution;
104
+ idea to separate routines to reduce statically
105
+ linked image sizes.
106
+ Rob Fanner rfanner at stonethree dot com
107
+ Bug fix.
108
+ Michael Johnson michaelj at maine dot rr dot com
109
+ Bug fix.
110
+ Nicolas Barry boozai at yahoo dot com
111
+ Bug fixes.
112
+ Piet van Bruggen pietvb at newbridges dot nl
113
+ Bug fix.
114
+ Makoto Kato raven at oldskool dot jp
115
+ AMD64 port.
116
+ Panagiotis E. Hadjidoukas peh at hpclab dot ceid dot upatras dot gr
117
+ phadjido at cs dot uoi dot gr
118
+ Contributed the QueueUserAPCEx package which
119
+ makes preemptive async cancelation possible.
120
+ Will Bryant will dot bryant at ecosm dot com
121
+ Borland compiler patch and makefile.
122
+ Anuj Goyal anuj dot goyal at gmail dot com
123
+ Port to Digital Mars compiler.
124
+ Gottlob Frege gottlobfrege at gmail dot com
125
+ re-implemented pthread_once (version 2)
126
+ (pthread_once cancellation added by rpj).
127
+ Vladimir Kliatchko vladimir at kliatchko dot com
128
+ reimplemented pthread_once with the same form
129
+ as described by A.Terekhov (later version 2);
130
+ implementation of MCS (Mellor-Crummey/Scott) locks.
131
+ Ramiro Polla ramiro.polla at gmail dot com
132
+ static library auto init/cleanup on application
133
+ start/exit via RT hooks (MSC and GCC compilers only).
134
+ Daniel Richard G. skunk at iSKUNK dot org
135
+ Patches and cleanups for x86 and x64, particularly
136
+ across a range of MS build environments.
137
+ John Kamp john dot kamp at globalgraphics dot com
138
+ Patches to fix various problems on x64; brutal testing
139
+ particularly using high memory run environments.
140
+
@@ -0,0 +1,150 @@
1
+ pthreads-win32 - a POSIX threads library for Microsoft Windows
2
+
3
+
4
+ This file is Copyrighted
5
+ ------------------------
6
+
7
+ This file is covered under the following Copyright:
8
+
9
+ Copyright (C) 2001,2006 Ross P. Johnson
10
+ All rights reserved.
11
+
12
+ Everyone is permitted to copy and distribute verbatim copies
13
+ of this license document, but changing it is not allowed.
14
+
15
+ Pthreads-win32 is covered by the GNU Lesser General Public License
16
+ ------------------------------------------------------------------
17
+
18
+ Pthreads-win32 is open software; you can redistribute it and/or
19
+ modify it under the terms of the GNU Lesser General Public License
20
+ as published by the Free Software Foundation version 2.1 of the
21
+ License.
22
+
23
+ Pthreads-win32 is several binary link libraries, several modules,
24
+ associated interface definition files and scripts used to control
25
+ its compilation and installation.
26
+
27
+ Pthreads-win32 is distributed in the hope that it will be useful,
28
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
29
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30
+ GNU Lesser General Public License for more details.
31
+
32
+ A copy of the GNU Lesser General Public License is distributed with
33
+ pthreads-win32 under the filename:
34
+
35
+ COPYING.LIB
36
+
37
+ You should have received a copy of the version 2.1 GNU Lesser General
38
+ Public License with pthreads-win32; if not, write to:
39
+
40
+ Free Software Foundation, Inc.
41
+ 59 Temple Place
42
+ Suite 330
43
+ Boston, MA 02111-1307
44
+ USA
45
+
46
+ The contact addresses for pthreads-win32 is as follows:
47
+
48
+ Web: http://sources.redhat.com/pthreads-win32
49
+ Email: Ross Johnson
50
+ Please use: Firstname.Lastname@homemail.com.au
51
+
52
+
53
+
54
+ Pthreads-win32 copyrights and exception files
55
+ ---------------------------------------------
56
+
57
+ With the exception of the files listed below, Pthreads-win32
58
+ is covered under the following GNU Lesser General Public License
59
+ Copyrights:
60
+
61
+ Pthreads-win32 - POSIX Threads Library for Win32
62
+ Copyright(C) 1998 John E. Bossom
63
+ Copyright(C) 1999,2006 Pthreads-win32 contributors
64
+
65
+ The current list of contributors is contained
66
+ in the file CONTRIBUTORS included with the source
67
+ code distribution. The current list of CONTRIBUTORS
68
+ can also be seen at the following WWW location:
69
+ http://sources.redhat.com/pthreads-win32/contributors.html
70
+
71
+ Contact Email: Ross Johnson
72
+ Please use: Firstname.Lastname@homemail.com.au
73
+
74
+ These files are not covered under one of the Copyrights listed above:
75
+
76
+ COPYING
77
+ COPYING.LIB
78
+ tests/rwlock7.c
79
+
80
+ This file, COPYING, is distributed under the Copyright found at the
81
+ top of this file. It is important to note that you may distribute
82
+ verbatim copies of this file but you may not modify this file.
83
+
84
+ The file COPYING.LIB, which contains a copy of the version 2.1
85
+ GNU Lesser General Public License, is itself copyrighted by the
86
+ Free Software Foundation, Inc. Please note that the Free Software
87
+ Foundation, Inc. does NOT have a copyright over Pthreads-win32,
88
+ only the COPYING.LIB that is supplied with pthreads-win32.
89
+
90
+ The file tests/rwlock7.c is derived from code written by
91
+ Dave Butenhof for his book 'Programming With POSIX(R) Threads'.
92
+ The original code was obtained by free download from his website
93
+ http://home.earthlink.net/~anneart/family/Threads/source.html
94
+ and did not contain a copyright or author notice. It is assumed to
95
+ be freely distributable.
96
+
97
+ In all cases one may use and distribute these exception files freely.
98
+ And because one may freely distribute the LGPL covered files, the
99
+ entire pthreads-win32 source may be freely used and distributed.
100
+
101
+
102
+
103
+ General Copyleft and License info
104
+ ---------------------------------
105
+
106
+ For general information on Copylefts, see:
107
+
108
+ http://www.gnu.org/copyleft/
109
+
110
+ For information on GNU Lesser General Public Licenses, see:
111
+
112
+ http://www.gnu.org/copyleft/lesser.html
113
+ http://www.gnu.org/copyleft/lesser.txt
114
+
115
+
116
+ Why pthreads-win32 did not use the GNU General Public License
117
+ -------------------------------------------------------------
118
+
119
+ The goal of the pthreads-win32 project has been to
120
+ provide a quality and complete implementation of the POSIX
121
+ threads API for Microsoft Windows within the limits imposed
122
+ by virtue of it being a stand-alone library and not
123
+ linked directly to other POSIX compliant libraries. For
124
+ example, some functions and features, such as those based
125
+ on POSIX signals, are missing.
126
+
127
+ Pthreads-win32 is a library, available in several different
128
+ versions depending on supported compilers, and may be used
129
+ as a dynamically linked module or a statically linked set of
130
+ binary modules. It is not an application on it's own.
131
+
132
+ It was fully intended that pthreads-win32 be usable with
133
+ commercial software not covered by either the GPL or the LGPL
134
+ licenses. Pthreads-win32 has many contributors to it's
135
+ code base, many of whom have done so because they have
136
+ used the library in commercial or proprietry software
137
+ projects.
138
+
139
+ Releasing pthreads-win32 under the LGPL ensures that the
140
+ library can be used widely, while at the same time ensures
141
+ that bug fixes and improvements to the pthreads-win32 code
142
+ itself is returned to benefit all current and future users
143
+ of the library.
144
+
145
+ Although pthreads-win32 makes it possible for applications
146
+ that use POSIX threads to be ported to Win32 platforms, the
147
+ broader goal of the project is to encourage the use of open
148
+ standards, and in particular, to make it just a little easier
149
+ for developers writing Win32 applications to consider
150
+ widening the potential market for their products.