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,62 @@
1
+ Watcom compiler notes
2
+ =====================
3
+
4
+ Status
5
+ ------
6
+ Not yet usable. Although the library builds under Watcom it
7
+ substantially fails the test suite.
8
+
9
+ There is a working Wmakefile for wmake for the library build.
10
+
11
+ invoke as any of:
12
+ wmake -f Wmakefile clean WC
13
+ wmake -f Wmakefile clean WC-inlined
14
+ wmake -f Wmakefile clean WCE
15
+ wmake -f Wmakefile clean WCE-inlined
16
+
17
+ These build pthreadWC.dll and pthreadWCE.dll.
18
+
19
+ There is a working Wmakefile for wmake for the test suite.
20
+
21
+ invoke as any of:
22
+ wmake -f Wmakefile clean WC
23
+ wmake -f Wmakefile clean WCX
24
+ wmake -f Wmakefile clean WCE
25
+ wmake -f Wmakefile clean WC-bench
26
+ wmake -f Wmakefile clean WCX-bench
27
+ wmake -f Wmakefile clean WCE-bench
28
+
29
+
30
+ Current known problems
31
+ ----------------------
32
+
33
+ Library build:
34
+ The Watcom compiler uses a different default call convention to MS C or GNU C and so
35
+ applications are not compatible with pthreadVC.dll etc using pre 2003-10-14 versions
36
+ of pthread.h, sched.h, or semaphore.h. The cdecl attribute can be used on exposed
37
+ function prototypes to force compatibility with MS C built DLLs.
38
+
39
+ However, there appear to be other incompatibilities. Errno.h, for example, defines
40
+ different values for the standard C and POSIX errors to those defined by the MS C
41
+ errno.h. It may be that references to Watcom's threads compatible 'errno' do set
42
+ and return translated numbers consistently, but I have not verified this.
43
+
44
+ Watcom defines errno as a dereferenced pointer returned by the function
45
+ _get_errno_ptr(). This is similar to both the MS and GNU C environments for
46
+ multithreaded use. However, the Watcom version appears to have a number of problems:
47
+
48
+ - different threads return the same pointer value. Compare with the MS and GNU C
49
+ versions which correctly return different values (since each thread must maintain
50
+ a thread specific errno value).
51
+
52
+ - an errno value set within the DLL appears as zero in the application even though
53
+ both share the same thread.
54
+
55
+ Therefore applications built using the Watcom compiler may need to use
56
+ a Watcom built version of the library (pthreadWC.dll). If this is the case, then
57
+ the cdecl function attribute should not be required.
58
+
59
+ Application builds:
60
+ The test suite fails with the Watcom compiler.
61
+
62
+ Test semaphore1.c fails for pthreadWC.dll because errno returns 0 instead of EAGAIN.
@@ -0,0 +1,6 @@
1
+ WinCE port
2
+ ----------
3
+ (See the file WinCE-PORT for a detailed explanation.)
4
+
5
+ Make sure you define "WINCE" amongst your compiler flags (eg. -DWINCE).
6
+ The config.h file will define all the necessary defines for you.
@@ -0,0 +1,7 @@
1
+ Things that aren't done yet
2
+ ---------------------------
3
+
4
+ 1. Implement PTHREAD_PROCESS_SHARED for semaphores, mutexes,
5
+ condition variables, read/write locks, barriers.
6
+
7
+
@@ -0,0 +1,222 @@
1
+ NOTE: The comments in this file relate to the original WinCE port
2
+ done by Tristan Savatier. The semaphore routines have been
3
+ completely rewritten since (2005-04-25), having been progressively
4
+ broken more and more by changes to the library. All of the semaphore
5
+ routines implemented for W9x/WNT/2000 and up should now also work for
6
+ WinCE. Also, pthread_mutex_timedlock should now work.
7
+
8
+ Additional WinCE updates have been applied since this as well. Check the
9
+ ChangeLog file and search for WINCE for example. (2007-01-07)
10
+
11
+ [RPJ]
12
+
13
+ ----
14
+
15
+ Some interesting news:
16
+
17
+ I have been able to port pthread-win32 to Windows-CE,
18
+ which uses a subset of the WIN32 API.
19
+
20
+ Since we intend to keep using pthread-win32 for our
21
+ Commercial WinCE developments, I would be very interested
22
+ if WinCE support could be added to the main source tree
23
+ of pthread-win32. Also, I would like to be credited
24
+ for this port :-)
25
+
26
+ Now, here is the story...
27
+
28
+ The port was performed and tested on a Casio "Cassiopeia"
29
+ PalmSize PC, which runs a MIP processor. The OS in the
30
+ Casio is WinCE version 2.11, but I used VC++ 6.0 with
31
+ the WinCE SDK for version 2.01.
32
+
33
+ I used pthread-win32 to port a heavily multithreaded
34
+ commercial application (real-time MPEG video player)
35
+ from Linux to WinCE. I consider the changes that
36
+ I have done to be quite well tested.
37
+
38
+ Overall the modifications that we had to do are minor.
39
+
40
+ The WinCE port were based on pthread-win32-snap-1999-05-30,
41
+ but I am certain that they can be integrated very easiely
42
+ to more recent versions of the source.
43
+
44
+ I have attached the modified source code:
45
+ pthread-win32-snap-1999-05-30-WinCE.
46
+
47
+ All the changes do not affect the code compiled on non-WinCE
48
+ environment, provided that the macros used for WinCE compilation
49
+ are not used, of course!
50
+
51
+ Overall description of the WinCE port:
52
+ -------------------------------------
53
+
54
+ Most of the changes had to be made in areas where
55
+ pthread-win32 was relying on some standard-C librairies
56
+ (e.g. _ftime, calloc, errno), which are not available
57
+ on WinCE. We have changed the code to use native Win32
58
+ API instead (or in some cases we made wrappers).
59
+
60
+ The Win32 Semaphores are not available,
61
+ so we had to re-implement Semaphores using mutexes
62
+ and events.
63
+
64
+ Limitations / known problems of the WinCE port:
65
+ ----------------------------------------------
66
+
67
+ Not all the semaphore routines have been ported
68
+ (semaphores are defined by Posix but are not part
69
+ pf pthread). I have just done enough to make
70
+ pthread routines (that rely internally on semaphores)
71
+ work, like signal conditions.
72
+
73
+ I noticed that the Win32 threads work slightly
74
+ differently on WinCE. This may have some impact
75
+ on some tricky parts of pthread-win32, but I have
76
+ not really investigated. For example, on WinCE,
77
+ the process is killed if the main thread falls off
78
+ the bottom (or calls pthread_exit), regardless
79
+ of the existence of any other detached thread.
80
+ Microsoft manual indicates that this behavior is
81
+ deffirent from that of Windows Threads for other
82
+ Win32 platforms.
83
+
84
+
85
+ Detailed descriptions of the changes and rationals:
86
+
87
+ ------------------------------------
88
+ - use a new macro NEED_ERRNO.
89
+
90
+ If defined, the code in errno.c that defines a reentrant errno
91
+ is compiled, regardless of _MT and _REENTRANT.
92
+
93
+ Rational: On WinCE, there is no support for <stdio.h>, <errno.h> or
94
+ any other standard C library, i.e. even if _MT or _REENTRANT
95
+ is defined, errno is not provided by any library. NEED_ERRNO
96
+ must be set to compile for WinCE.
97
+
98
+ ------------------------------------
99
+ - In implement.h, change #include <semaphore.h> to #include "semaphore.h".
100
+
101
+ Rational: semaphore.h is provided in pthread-win32 and should not
102
+ be searched in the systems standard include. would not compile.
103
+ This change does not seem to create problems on "classic" win32
104
+ (e.g. win95).
105
+
106
+ ------------------------------------
107
+ - use a new macro NEED_CALLOC.
108
+
109
+ If defined, some code in misc.c will provide a replacement
110
+ for calloc, which is not available on Win32.
111
+
112
+
113
+ ------------------------------------
114
+ - use a new macro NEED_CREATETHREAD.
115
+
116
+ If defined, implement.h defines the macro _beginthreadex
117
+ and _endthreadex.
118
+
119
+ Rational: On WinCE, the wrappers _beginthreadex and _endthreadex
120
+ do not exist. The native Win32 routines must be used.
121
+
122
+ ------------------------------------
123
+ - in misc.c:
124
+
125
+ #ifdef NEED_DUPLICATEHANDLE
126
+ /* DuplicateHandle does not exist on WinCE */
127
+ self->threadH = GetCurrentThread();
128
+ #else
129
+ if( !DuplicateHandle(
130
+ GetCurrentProcess(),
131
+ GetCurrentThread(),
132
+ GetCurrentProcess(),
133
+ &self->threadH,
134
+ 0,
135
+ FALSE,
136
+ DUPLICATE_SAME_ACCESS ) )
137
+ {
138
+ free( self );
139
+ return (NULL);
140
+ }
141
+ #endif
142
+
143
+ Rational: On WinCE, DuplicateHandle does not exist. I could not understand
144
+ why DuplicateHandle must be used. It seems to me that getting the current
145
+ thread handle with GetCurrentThread() is sufficient, and it seems to work
146
+ perfectly fine, so maybe DuplicateHandle was just plain useless to begin with ?
147
+
148
+ ------------------------------------
149
+ - In private.c, added some code at the beginning of ptw32_processInitialize
150
+ to detect the case of multiple calls to ptw32_processInitialize.
151
+
152
+ Rational: In order to debug pthread-win32, it is easier to compile
153
+ it as a regular library (it is not possible to debug DLL's on winCE).
154
+ In that case, the application must call ptw32_rocessInitialize()
155
+ explicitely, to initialize pthread-win32. It is safer in this circumstance
156
+ to handle the case where ptw32_processInitialize() is called on
157
+ an already initialized library:
158
+
159
+ int
160
+ ptw32_processInitialize (void)
161
+ {
162
+ if (ptw32_processInitialized) {
163
+ /*
164
+ * ignore if already initialized. this is useful for
165
+ * programs that uses a non-dll pthread
166
+ * library. such programs must call ptw32_processInitialize() explicitely,
167
+ * since this initialization routine is automatically called only when
168
+ * the dll is loaded.
169
+ */
170
+ return TRUE;
171
+ }
172
+ ptw32_processInitialized = TRUE;
173
+ [...]
174
+ }
175
+
176
+ ------------------------------------
177
+ - in private.c, if macro NEED_FTIME is defined, add routines to
178
+ convert timespec_to_filetime and filetime_to_timespec, and modified
179
+ code that was using _ftime() to use Win32 API instead.
180
+
181
+ Rational: _ftime is not available on WinCE. It is necessary to use
182
+ the native Win32 time API instead.
183
+
184
+ Note: the routine timespec_to_filetime is provided as a convenience and a mean
185
+ to test that filetime_to_timespec works, but it is not used by the library.
186
+
187
+ ------------------------------------
188
+ - in semaphore.c, if macro NEED_SEM is defined, add code for the routines
189
+ _increase_semaphore and _decrease_semaphore, and modify significantly
190
+ the implementation of the semaphores so that it does not use CreateSemaphore.
191
+
192
+ Rational: CreateSemaphore is not available on WinCE. I had to re-implement
193
+ semaphores using mutexes and Events.
194
+
195
+ Note: Only the semaphore routines that are used by pthread are implemented
196
+ (i.e. signal conditions rely on a subset of the semaphores routines, and
197
+ this subset works). Some other semaphore routines (e.g. sem_trywait) are
198
+ not yet supported on my WinCE port (and since I don't need them, I am not
199
+ planning to do anything about them).
200
+
201
+ ------------------------------------
202
+ - in tsd.c, changed the code that defines TLS_OUT_OF_INDEXES
203
+
204
+ /* TLS_OUT_OF_INDEXES not defined on WinCE */
205
+ #ifndef TLS_OUT_OF_INDEXES
206
+ #define TLS_OUT_OF_INDEXES 0xffffffff
207
+ #endif
208
+
209
+ Rational: TLS_OUT_OF_INDEXES is not defined in any standard include file
210
+ on WinCE.
211
+
212
+ ------------------------------------
213
+ - added file need_errno.h
214
+
215
+ Rational: On WinCE, there is no errno.h file. need_errno.h is just a
216
+ copy of windows version of errno.h, with minor modifications due to the fact
217
+ that some of the error codes are defined by the WinCE socket library.
218
+ In pthread.h, if NEED_ERRNO is defined, the file need_errno.h is
219
+ included (instead of <errno.h>).
220
+
221
+
222
+ -- eof
@@ -0,0 +1,53 @@
1
+ /*
2
+ * attr.c
3
+ *
4
+ * Description:
5
+ * This translation unit agregates operations on thread attribute objects.
6
+ * It is used for inline optimisation.
7
+ *
8
+ * The included modules are used separately when static executable sizes
9
+ * must be minimised.
10
+ *
11
+ * --------------------------------------------------------------------------
12
+ *
13
+ * Pthreads-win32 - POSIX Threads Library for Win32
14
+ * Copyright(C) 1998 John E. Bossom
15
+ * Copyright(C) 1999,2005 Pthreads-win32 contributors
16
+ *
17
+ * Contact Email: rpj@callisto.canberra.edu.au
18
+ *
19
+ * The current list of contributors is contained
20
+ * in the file CONTRIBUTORS included with the source
21
+ * code distribution. The list can also be seen at the
22
+ * following World Wide Web location:
23
+ * http://sources.redhat.com/pthreads-win32/contributors.html
24
+ *
25
+ * This library is free software; you can redistribute it and/or
26
+ * modify it under the terms of the GNU Lesser General Public
27
+ * License as published by the Free Software Foundation; either
28
+ * version 2 of the License, or (at your option) any later version.
29
+ *
30
+ * This library is distributed in the hope that it will be useful,
31
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
32
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
33
+ * Lesser General Public License for more details.
34
+ *
35
+ * You should have received a copy of the GNU Lesser General Public
36
+ * License along with this library in the file COPYING.LIB;
37
+ * if not, write to the Free Software Foundation, Inc.,
38
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
39
+ */
40
+
41
+ #include "pthread.h"
42
+ #include "implement.h"
43
+
44
+ #include "pthread_attr_init.c"
45
+ #include "pthread_attr_destroy.c"
46
+ #include "pthread_attr_getdetachstate.c"
47
+ #include "pthread_attr_setdetachstate.c"
48
+ #include "pthread_attr_getstackaddr.c"
49
+ #include "pthread_attr_setstackaddr.c"
50
+ #include "pthread_attr_getstacksize.c"
51
+ #include "pthread_attr_setstacksize.c"
52
+ #include "pthread_attr_getscope.c"
53
+ #include "pthread_attr_setscope.c"
@@ -0,0 +1,69 @@
1
+ /*
2
+ * autostatic.c
3
+ *
4
+ * Description:
5
+ * This translation unit implements static auto-init and auto-exit logic.
6
+ *
7
+ * --------------------------------------------------------------------------
8
+ *
9
+ * Pthreads-win32 - POSIX Threads Library for Win32
10
+ * Copyright(C) 1998 John E. Bossom
11
+ * Copyright(C) 1999,2005 Pthreads-win32 contributors
12
+ *
13
+ * Contact Email: rpj@callisto.canberra.edu.au
14
+ *
15
+ * The current list of contributors is contained
16
+ * in the file CONTRIBUTORS included with the source
17
+ * code distribution. The list can also be seen at the
18
+ * following World Wide Web location:
19
+ * http://sources.redhat.com/pthreads-win32/contributors.html
20
+ *
21
+ * This library is free software; you can redistribute it and/or
22
+ * modify it under the terms of the GNU Lesser General Public
23
+ * License as published by the Free Software Foundation; either
24
+ * version 2 of the License, or (at your option) any later version.
25
+ *
26
+ * This library is distributed in the hope that it will be useful,
27
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29
+ * Lesser General Public License for more details.
30
+ *
31
+ * You should have received a copy of the GNU Lesser General Public
32
+ * License along with this library in the file COPYING.LIB;
33
+ * if not, write to the Free Software Foundation, Inc.,
34
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
35
+ */
36
+
37
+ #if defined(PTW32_STATIC_LIB)
38
+
39
+ #if defined(__MINGW64__) || defined(__MINGW32__) || defined(_MSC_VER)
40
+
41
+ #include "pthread.h"
42
+ #include "implement.h"
43
+
44
+ static void on_process_init(void)
45
+ {
46
+ pthread_win32_process_attach_np ();
47
+ }
48
+
49
+ static void on_process_exit(void)
50
+ {
51
+ pthread_win32_thread_detach_np ();
52
+ pthread_win32_process_detach_np ();
53
+ }
54
+
55
+ #if defined(__MINGW64__) || defined(__MINGW32__)
56
+ # define attribute_section(a) __attribute__((section(a)))
57
+ #elif defined(_MSC_VER)
58
+ # define attribute_section(a) __pragma(section(a,long,read)); __declspec(allocate(a))
59
+ #endif
60
+
61
+ attribute_section(".ctors") void *gcc_ctor = on_process_init;
62
+ attribute_section(".dtors") void *gcc_dtor = on_process_exit;
63
+
64
+ attribute_section(".CRT$XCU") void *msc_ctor = on_process_init;
65
+ attribute_section(".CRT$XPU") void *msc_dtor = on_process_exit;
66
+
67
+ #endif /* defined(__MINGW64__) || defined(__MINGW32__) || defined(_MSC_VER) */
68
+
69
+ #endif /* PTW32_STATIC_LIB */
@@ -0,0 +1,47 @@
1
+ /*
2
+ * barrier.c
3
+ *
4
+ * Description:
5
+ * This translation unit implements barrier primitives.
6
+ *
7
+ * --------------------------------------------------------------------------
8
+ *
9
+ * Pthreads-win32 - POSIX Threads Library for Win32
10
+ * Copyright(C) 1998 John E. Bossom
11
+ * Copyright(C) 1999,2005 Pthreads-win32 contributors
12
+ *
13
+ * Contact Email: rpj@callisto.canberra.edu.au
14
+ *
15
+ * The current list of contributors is contained
16
+ * in the file CONTRIBUTORS included with the source
17
+ * code distribution. The list can also be seen at the
18
+ * following World Wide Web location:
19
+ * http://sources.redhat.com/pthreads-win32/contributors.html
20
+ *
21
+ * This library is free software; you can redistribute it and/or
22
+ * modify it under the terms of the GNU Lesser General Public
23
+ * License as published by the Free Software Foundation; either
24
+ * version 2 of the License, or (at your option) any later version.
25
+ *
26
+ * This library is distributed in the hope that it will be useful,
27
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29
+ * Lesser General Public License for more details.
30
+ *
31
+ * You should have received a copy of the GNU Lesser General Public
32
+ * License along with this library in the file COPYING.LIB;
33
+ * if not, write to the Free Software Foundation, Inc.,
34
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
35
+ */
36
+
37
+ #include "pthread.h"
38
+ #include "implement.h"
39
+
40
+
41
+ #include "pthread_barrier_init.c"
42
+ #include "pthread_barrier_destroy.c"
43
+ #include "pthread_barrier_wait.c"
44
+ #include "pthread_barrierattr_init.c"
45
+ #include "pthread_barrierattr_destroy.c"
46
+ #include "pthread_barrierattr_getpshared.c"
47
+ #include "pthread_barrierattr_setpshared.c"
@@ -0,0 +1,207 @@
1
+ {
2
+ 'target_defaults': {
3
+ 'default_configuration': 'Debug',
4
+ 'configurations': {
5
+ # TODO: hoist these out and put them somewhere common, because
6
+ # RuntimeLibrary MUST MATCH across the entire project
7
+ 'Debug': {
8
+ 'defines': [ 'DEBUG', '_DEBUG' ],
9
+ 'msvs_settings': {
10
+ 'VCCLCompilerTool': {
11
+ 'RuntimeLibrary': 1, # static debug
12
+ },
13
+ },
14
+ },
15
+ 'Release': {
16
+ 'defines': [ 'NDEBUG' ],
17
+ 'msvs_settings': {
18
+ 'VCCLCompilerTool': {
19
+ 'RuntimeLibrary': 0, # static release
20
+ },
21
+ },
22
+ }
23
+ },
24
+ 'msvs_settings': {
25
+ 'VCCLCompilerTool': {
26
+ },
27
+ 'VCLibrarianTool': {
28
+ },
29
+ 'VCLinkerTool': {
30
+ 'GenerateDebugInformation': 'true',
31
+ },
32
+ },
33
+ 'conditions': [
34
+ ['OS == "win"', {
35
+ 'defines': [
36
+ 'WIN32'
37
+ ],
38
+ }]
39
+ ],
40
+ },
41
+
42
+ 'targets': [
43
+ {
44
+ 'target_name': 'pthread-win32',
45
+ 'type': 'static_library',
46
+ 'include_dirs': [ '../' ],
47
+ 'direct_dependent_settings': {
48
+ 'include_dirs': [ '../' ],
49
+ },
50
+ 'defines': [
51
+ 'HAVE_PTW32_CONFIG_H',
52
+ '__CLEANUP_C',
53
+ 'WIN32'
54
+ ],
55
+ 'msvs_settings': {
56
+ 'VCCLCompilerTool': {
57
+ },
58
+ 'VCLibrarianTool': {
59
+ },
60
+ 'VCLinkerTool': {
61
+ 'GenerateDebugInformation': 'true',
62
+ },
63
+ },
64
+ 'sources': [
65
+ '../autostatic.c',
66
+ '../cleanup.c',
67
+ '../create.c',
68
+ '../dll.c',
69
+ '../errno.c',
70
+ '../fork.c',
71
+ '../global.c',
72
+ '../pthread_attr_destroy.c',
73
+ '../pthread_attr_getdetachstate.c',
74
+ '../pthread_attr_getinheritsched.c',
75
+ '../pthread_attr_getschedparam.c',
76
+ '../pthread_attr_getschedpolicy.c',
77
+ '../pthread_attr_getscope.c',
78
+ '../pthread_attr_getstackaddr.c',
79
+ '../pthread_attr_getstacksize.c',
80
+ '../pthread_attr_init.c',
81
+ '../pthread_attr_setdetachstate.c',
82
+ '../pthread_attr_setinheritsched.c',
83
+ '../pthread_attr_setschedparam.c',
84
+ '../pthread_attr_setschedpolicy.c',
85
+ '../pthread_attr_setscope.c',
86
+ '../pthread_attr_setstackaddr.c',
87
+ '../pthread_attr_setstacksize.c',
88
+ '../pthread_barrierattr_destroy.c',
89
+ '../pthread_barrierattr_getpshared.c',
90
+ '../pthread_barrierattr_init.c',
91
+ '../pthread_barrierattr_setpshared.c',
92
+ '../pthread_barrier_destroy.c',
93
+ '../pthread_barrier_init.c',
94
+ '../pthread_barrier_wait.c',
95
+ '../pthread_cancel.c',
96
+ '../pthread_condattr_destroy.c',
97
+ '../pthread_condattr_getpshared.c',
98
+ '../pthread_condattr_init.c',
99
+ '../pthread_condattr_setpshared.c',
100
+ '../pthread_cond_destroy.c',
101
+ '../pthread_cond_init.c',
102
+ '../pthread_cond_signal.c',
103
+ '../pthread_cond_wait.c',
104
+ '../pthread_delay_np.c',
105
+ '../pthread_detach.c',
106
+ '../pthread_equal.c',
107
+ '../pthread_exit.c',
108
+ '../pthread_getconcurrency.c',
109
+ '../pthread_getschedparam.c',
110
+ '../pthread_getspecific.c',
111
+ '../pthread_getunique_np.c',
112
+ '../pthread_getw32threadhandle_np.c',
113
+ '../pthread_join.c',
114
+ '../pthread_key_create.c',
115
+ '../pthread_key_delete.c',
116
+ '../pthread_kill.c',
117
+ '../pthread_mutexattr_destroy.c',
118
+ '../pthread_mutexattr_getkind_np.c',
119
+ '../pthread_mutexattr_getpshared.c',
120
+ '../pthread_mutexattr_getrobust.c',
121
+ '../pthread_mutexattr_gettype.c',
122
+ '../pthread_mutexattr_init.c',
123
+ '../pthread_mutexattr_setkind_np.c',
124
+ '../pthread_mutexattr_setpshared.c',
125
+ '../pthread_mutexattr_setrobust.c',
126
+ '../pthread_mutexattr_settype.c',
127
+ '../pthread_mutex_consistent.c',
128
+ '../pthread_mutex_destroy.c',
129
+ '../pthread_mutex_init.c',
130
+ '../pthread_mutex_lock.c',
131
+ '../pthread_mutex_timedlock.c',
132
+ '../pthread_mutex_trylock.c',
133
+ '../pthread_mutex_unlock.c',
134
+ '../pthread_num_processors_np.c',
135
+ '../pthread_once.c',
136
+ '../pthread_rwlockattr_destroy.c',
137
+ '../pthread_rwlockattr_getpshared.c',
138
+ '../pthread_rwlockattr_init.c',
139
+ '../pthread_rwlockattr_setpshared.c',
140
+ '../pthread_rwlock_destroy.c',
141
+ '../pthread_rwlock_init.c',
142
+ '../pthread_rwlock_rdlock.c',
143
+ '../pthread_rwlock_timedrdlock.c',
144
+ '../pthread_rwlock_timedwrlock.c',
145
+ '../pthread_rwlock_tryrdlock.c',
146
+ '../pthread_rwlock_trywrlock.c',
147
+ '../pthread_rwlock_unlock.c',
148
+ '../pthread_rwlock_wrlock.c',
149
+ '../pthread_self.c',
150
+ '../pthread_setcancelstate.c',
151
+ '../pthread_setcanceltype.c',
152
+ '../pthread_setconcurrency.c',
153
+ '../pthread_setschedparam.c',
154
+ '../pthread_setspecific.c',
155
+ '../pthread_spin_destroy.c',
156
+ '../pthread_spin_init.c',
157
+ '../pthread_spin_lock.c',
158
+ '../pthread_spin_trylock.c',
159
+ '../pthread_spin_unlock.c',
160
+ '../pthread_testcancel.c',
161
+ '../pthread_timechange_handler_np.c',
162
+ '../pthread_win32_attach_detach_np.c',
163
+ '../ptw32_calloc.c',
164
+ '../ptw32_callUserDestroyRoutines.c',
165
+ '../ptw32_cond_check_need_init.c',
166
+ '../ptw32_getprocessors.c',
167
+ '../ptw32_is_attr.c',
168
+ '../ptw32_MCS_lock.c',
169
+ '../ptw32_mutex_check_need_init.c',
170
+ '../ptw32_new.c',
171
+ '../ptw32_processInitialize.c',
172
+ '../ptw32_processTerminate.c',
173
+ '../ptw32_relmillisecs.c',
174
+ '../ptw32_reuse.c',
175
+ '../ptw32_rwlock_cancelwrwait.c',
176
+ '../ptw32_rwlock_check_need_init.c',
177
+ '../ptw32_semwait.c',
178
+ '../ptw32_spinlock_check_need_init.c',
179
+ '../ptw32_threadDestroy.c',
180
+ '../ptw32_threadStart.c',
181
+ '../ptw32_throw.c',
182
+ '../ptw32_timespec.c',
183
+ '../ptw32_tkAssocCreate.c',
184
+ '../ptw32_tkAssocDestroy.c',
185
+ '../sched_getscheduler.c',
186
+ '../sched_get_priority_max.c',
187
+ '../sched_get_priority_min.c',
188
+ '../sched_setscheduler.c',
189
+ '../sched_yield.c',
190
+ '../sem_close.c',
191
+ '../sem_destroy.c',
192
+ '../sem_getvalue.c',
193
+ '../sem_init.c',
194
+ '../sem_open.c',
195
+ '../sem_post.c',
196
+ '../sem_post_multiple.c',
197
+ '../sem_timedwait.c',
198
+ '../sem_trywait.c',
199
+ '../sem_unlink.c',
200
+ '../sem_wait.c',
201
+ '../signal.c',
202
+ '../w32_CancelableWait.c',
203
+ ],
204
+ },
205
+ ]
206
+ }
207
+
@@ -0,0 +1,9 @@
1
+ ; Build the pthreads library with the Digital Mars Compiler
2
+ ;
3
+ set DMCDIR=c:\dm
4
+
5
+ ; RELEASE
6
+ %DMCDIR%\bin\dmc -D_WIN32_WINNT -D_MT -DHAVE_PTW32_CONFIG_H -I.;c:\dm\include -o+all -WD pthread.c user32.lib+kernel32.lib+wsock32.lib -L/impl -L/NODEBUG -L/SU:WINDOWS
7
+
8
+ ; DEBUG
9
+ %DMCDIR%\bin\dmc -g -D_WIN32_WINNT -D_MT -DHAVE_PTW32_CONFIG_H -I.;c:\dm\include -o+all -WD pthread.c user32.lib+kernel32.lib+wsock32.lib -L/impl -L/SU:WINDOWS