noderb 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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.