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,121 @@
1
+ # Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to
5
+ # deal in the Software without restriction, including without limitation the
6
+ # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ # sell copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ # IN THE SOFTWARE.
20
+
21
+ CC = $(PREFIX)gcc
22
+ AR = $(PREFIX)ar
23
+ E=
24
+ CSTDFLAG=--std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter
25
+ CFLAGS=-g
26
+ CPPFLAGS += -Isrc/ev
27
+ LINKFLAGS=-lm
28
+
29
+ CPPFLAGS += -D_LARGEFILE_SOURCE
30
+ CPPFLAGS += -D_FILE_OFFSET_BITS=64
31
+
32
+ ifeq (SunOS,$(uname_S))
33
+ EV_CONFIG=config_sunos.h
34
+ EIO_CONFIG=config_sunos.h
35
+ CPPFLAGS += -Isrc/ares/config_sunos -D__EXTENSIONS__
36
+ LINKFLAGS+=-lsocket -lnsl
37
+ UV_OS_FILE=uv-sunos.c
38
+ endif
39
+
40
+ ifeq (Darwin,$(uname_S))
41
+ EV_CONFIG=config_darwin.h
42
+ EIO_CONFIG=config_darwin.h
43
+ CPPFLAGS += -Isrc/ares/config_darwin
44
+ LINKFLAGS+=-framework CoreServices
45
+ UV_OS_FILE=uv-darwin.c
46
+ endif
47
+
48
+ ifeq (Linux,$(uname_S))
49
+ EV_CONFIG=config_linux.h
50
+ EIO_CONFIG=config_linux.h
51
+ CSTDFLAG += -D_XOPEN_SOURCE=600
52
+ CPPFLAGS += -Isrc/ares/config_linux
53
+ LINKFLAGS+=-lrt
54
+ UV_OS_FILE=uv-linux.c
55
+ endif
56
+
57
+ ifeq (FreeBSD,$(uname_S))
58
+ EV_CONFIG=config_freebsd.h
59
+ EIO_CONFIG=config_freebsd.h
60
+ CPPFLAGS += -Isrc/ares/config_freebsd
61
+ LINKFLAGS+=
62
+ UV_OS_FILE=uv-freebsd.c
63
+ endif
64
+
65
+ ifneq (,$(findstring CYGWIN,$(uname_S)))
66
+ EV_CONFIG=config_cygwin.h
67
+ EIO_CONFIG=config_cygwin.h
68
+ # We drop the --std=c89, it hides CLOCK_MONOTONIC on cygwin
69
+ CSTDFLAG = -D_GNU_SOURCE
70
+ CPPFLAGS += -Isrc/ares/config_cygwin
71
+ LINKFLAGS+=
72
+ UV_OS_FILE=uv-cygwin.c
73
+ endif
74
+
75
+ # Need _GNU_SOURCE for strdup?
76
+ RUNNER_CFLAGS=$(CFLAGS) -D_GNU_SOURCE
77
+
78
+ RUNNER_LINKFLAGS=$(LINKFLAGS) -pthread
79
+ RUNNER_LIBS=
80
+ RUNNER_SRC=test/runner-unix.c
81
+
82
+ uv.a: src/uv-unix.o src/uv-common.o src/uv-platform.o src/ev/ev.o src/uv-eio.o src/eio/eio.o $(CARES_OBJS)
83
+ $(AR) rcs uv.a src/uv-unix.o src/uv-platform.o src/uv-common.o src/uv-eio.o src/ev/ev.o \
84
+ src/eio/eio.o $(CARES_OBJS)
85
+
86
+ src/uv-platform.o: src/$(UV_OS_FILE) include/uv.h include/uv-unix.h
87
+ $(CC) $(CSTDFLAG) $(CPPFLAGS) $(CFLAGS) -c src/$(UV_OS_FILE) -o src/uv-platform.o
88
+
89
+ src/uv-unix.o: src/uv-unix.c include/uv.h include/uv-unix.h
90
+ $(CC) $(CSTDFLAG) $(CPPFLAGS) -Ieio $(CFLAGS) -c src/uv-unix.c -o src/uv-unix.o
91
+
92
+ src/uv-common.o: src/uv-common.c include/uv.h include/uv-unix.h
93
+ $(CC) $(CSTDFLAG) $(CPPFLAGS) $(CFLAGS) -c src/uv-common.c -o src/uv-common.o
94
+
95
+ src/ev/ev.o: src/ev/ev.c
96
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c src/ev/ev.c -o src/ev/ev.o -DEV_CONFIG_H=\"$(EV_CONFIG)\"
97
+
98
+
99
+ EIO_CPPFLAGS += $(CPPFLAGS)
100
+ EIO_CPPFLAGS += -DEIO_CONFIG_H=\"$(EIO_CONFIG)\"
101
+ EIO_CPPFLAGS += -DEIO_STACKSIZE=262144
102
+ EIO_CPPFLAGS += -D_GNU_SOURCE
103
+
104
+ src/eio/eio.o: src/eio/eio.c
105
+ $(CC) $(EIO_CPPFLAGS) $(CFLAGS) -c src/eio/eio.c -o src/eio/eio.o
106
+
107
+ src/uv-eio.o: src/uv-eio.c
108
+ $(CC) $(CPPFLAGS) -Isrc/eio/ $(CSTDFLAG) $(CFLAGS) -c src/uv-eio.c -o src/uv-eio.o
109
+
110
+
111
+ clean-platform:
112
+ -rm -f src/ares/*.o
113
+ -rm -f src/ev/*.o
114
+ -rm -f src/eio/*.o
115
+ -rm -rf test/run-tests.dSYM run-benchmarks.dSYM
116
+
117
+ distclean-platform:
118
+ -rm -f src/ares/*.o
119
+ -rm -f src/ev/*.o
120
+ -rm -f src/eio/*.o
121
+ -rm -rf test/run-tests.dSYM run-benchmarks.dSYM
@@ -0,0 +1,14 @@
1
+ @REM Hello World
2
+
3
+ cd %~dp0
4
+
5
+ IF EXIST %~dp0build\gyp GOTO WINDIR
6
+
7
+
8
+ svn co http://gyp.googlecode.com/svn/trunk@983 build/gyp
9
+
10
+ :WINDIR
11
+
12
+ @python build\gyp_uv
13
+
14
+
@@ -0,0 +1,482 @@
1
+ PTHREADS-WIN32 RELEASE 2.9.0 (2007-??-??)
2
+ -----------------------------------------
3
+ Web Site: http://sources.redhat.com/pthreads-win32/
4
+ FTP Site: ftp://sources.redhat.com/pub/pthreads-win32
5
+ Maintainer: Ross Johnson <rpj@callisto.canberra.edu.au>
6
+
7
+
8
+ We are pleased to announce the availability of a new release of
9
+ Pthreads-win32, an Open Source Software implementation of the
10
+ Threads component of the POSIX 1003.1 2001 Standard for Microsoft's
11
+ Win32 environment. Some functions from other sections of POSIX
12
+ 1003.1 2001 are also supported including semaphores and scheduling
13
+ functions.
14
+
15
+ Some common non-portable functions are also implemented for
16
+ additional compatibility, as are a few functions specific
17
+ to pthreads-win32 for easier integration with Win32 applications.
18
+
19
+ Pthreads-win32 is free software, distributed under the GNU Lesser
20
+ General Public License (LGPL).
21
+
22
+
23
+ Acknowledgements
24
+ ----------------
25
+ This library is based originally on a Win32 pthreads
26
+ implementation contributed by John Bossom <John.Bossom@cognos.com>.
27
+
28
+ The implementation of Condition Variables uses algorithms developed
29
+ by Alexander Terekhov and Louis Thomas.
30
+
31
+ The implementation of POSIX mutexes has been improved by Thomas Pfaff
32
+ and later by Alexander Terekhov.
33
+
34
+ The implementation of Spinlocks and Barriers was contributed
35
+ by Ross Johnson.
36
+
37
+ The implementation of read/write locks was contributed by
38
+ Aurelio Medina and improved by Alexander Terekhov.
39
+
40
+ Many others have contributed significant time and effort to solve crutial
41
+ problems in order to make the library workable, robust and reliable.
42
+
43
+ Thanks to Xavier Leroy for granting permission to use and modify his
44
+ LinuxThreads manual pages.
45
+
46
+ Thanks to The Open Group for making the Single Unix Specification
47
+ publicly available - many of the manual pages included in the package
48
+ were extracted from it.
49
+
50
+ There is also a separate CONTRIBUTORS file. This file and others are
51
+ on the web site:
52
+
53
+ http://sources.redhat.com/pthreads-win32
54
+
55
+ As much as possible, the ChangeLog file acknowledges contributions to the
56
+ code base in more detail.
57
+
58
+
59
+ Changes since the last release
60
+ ------------------------------
61
+ These are now documented in the NEWS file.
62
+ See the ChangeLog file also.
63
+
64
+
65
+ Known Bugs
66
+ ----------
67
+ These are now documented in the BUGS file.
68
+
69
+
70
+ Level of standards conformance
71
+ ------------------------------
72
+
73
+ The following POSIX 1003.1 2001 options are defined and set to 200112L:
74
+
75
+ _POSIX_THREADS
76
+ _POSIX_THREAD_SAFE_FUNCTIONS
77
+ _POSIX_THREAD_ATTR_STACKSIZE
78
+ _POSIX_THREAD_PRIORITY_SCHEDULING
79
+ _POSIX_SEMAPHORES
80
+ _POSIX_READER_WRITER_LOCKS
81
+ _POSIX_SPIN_LOCKS
82
+ _POSIX_BARRIERS
83
+
84
+
85
+ The following POSIX 1003.1 2001 options are defined and set to -1:
86
+
87
+ _POSIX_THREAD_ATTR_STACKADDR
88
+ _POSIX_THREAD_PRIO_INHERIT
89
+ _POSIX_THREAD_PRIO_PROTECT
90
+ _POSIX_THREAD_PROCESS_SHARED
91
+
92
+
93
+ The following POSIX 1003.1 2001 limits are defined and set:
94
+
95
+ _POSIX_THREAD_THREADS_MAX
96
+ _POSIX_SEM_VALUE_MAX
97
+ _POSIX_SEM_NSEMS_MAX
98
+ _POSIX_THREAD_KEYS_MAX
99
+ _POSIX_THREAD_DESTRUCTOR_ITERATIONS
100
+ PTHREAD_STACK_MIN
101
+ PTHREAD_THREADS_MAX
102
+ SEM_VALUE_MAX
103
+ SEM_NSEMS_MAX
104
+ PTHREAD_KEYS_MAX
105
+ PTHREAD_DESTRUCTOR_ITERATIONS
106
+
107
+
108
+ The following functions are implemented:
109
+
110
+ ---------------------------
111
+ PThreads
112
+ ---------------------------
113
+ pthread_attr_init
114
+ pthread_attr_destroy
115
+ pthread_attr_getdetachstate
116
+ pthread_attr_getstackaddr
117
+ pthread_attr_getstacksize
118
+ pthread_attr_setdetachstate
119
+ pthread_attr_setstackaddr
120
+ pthread_attr_setstacksize
121
+
122
+ pthread_create
123
+ pthread_detach
124
+ pthread_equal
125
+ pthread_exit
126
+ pthread_join
127
+ pthread_once
128
+ pthread_self
129
+
130
+ pthread_cancel
131
+ pthread_cleanup_pop
132
+ pthread_cleanup_push
133
+ pthread_setcancelstate
134
+ pthread_setcanceltype
135
+ pthread_testcancel
136
+
137
+ ---------------------------
138
+ Thread Specific Data
139
+ ---------------------------
140
+ pthread_key_create
141
+ pthread_key_delete
142
+ pthread_setspecific
143
+ pthread_getspecific
144
+
145
+ ---------------------------
146
+ Mutexes
147
+ ---------------------------
148
+ pthread_mutexattr_init
149
+ pthread_mutexattr_destroy
150
+ pthread_mutexattr_getpshared
151
+ pthread_mutexattr_setpshared
152
+ pthread_mutexattr_gettype
153
+ pthread_mutexattr_settype (types: PTHREAD_MUTEX_DEFAULT
154
+ PTHREAD_MUTEX_NORMAL
155
+ PTHREAD_MUTEX_ERRORCHECK
156
+ PTHREAD_MUTEX_RECURSIVE )
157
+ pthread_mutexattr_getrobust
158
+ pthread_mutexattr_setrobust (values: PTHREAD_MUTEX_STALLED
159
+ PTHREAD_MUTEX_ROBUST)
160
+ pthread_mutex_init
161
+ pthread_mutex_destroy
162
+ pthread_mutex_lock
163
+ pthread_mutex_trylock
164
+ pthread_mutex_timedlock
165
+ pthread_mutex_unlock
166
+ pthread_mutex_consistent
167
+
168
+ ---------------------------
169
+ Condition Variables
170
+ ---------------------------
171
+ pthread_condattr_init
172
+ pthread_condattr_destroy
173
+ pthread_condattr_getpshared
174
+ pthread_condattr_setpshared
175
+
176
+ pthread_cond_init
177
+ pthread_cond_destroy
178
+ pthread_cond_wait
179
+ pthread_cond_timedwait
180
+ pthread_cond_signal
181
+ pthread_cond_broadcast
182
+
183
+ ---------------------------
184
+ Read/Write Locks
185
+ ---------------------------
186
+ pthread_rwlock_init
187
+ pthread_rwlock_destroy
188
+ pthread_rwlock_tryrdlock
189
+ pthread_rwlock_trywrlock
190
+ pthread_rwlock_rdlock
191
+ pthread_rwlock_timedrdlock
192
+ pthread_rwlock_rwlock
193
+ pthread_rwlock_timedwrlock
194
+ pthread_rwlock_unlock
195
+ pthread_rwlockattr_init
196
+ pthread_rwlockattr_destroy
197
+ pthread_rwlockattr_getpshared
198
+ pthread_rwlockattr_setpshared
199
+
200
+ ---------------------------
201
+ Spin Locks
202
+ ---------------------------
203
+ pthread_spin_init
204
+ pthread_spin_destroy
205
+ pthread_spin_lock
206
+ pthread_spin_unlock
207
+ pthread_spin_trylock
208
+
209
+ ---------------------------
210
+ Barriers
211
+ ---------------------------
212
+ pthread_barrier_init
213
+ pthread_barrier_destroy
214
+ pthread_barrier_wait
215
+ pthread_barrierattr_init
216
+ pthread_barrierattr_destroy
217
+ pthread_barrierattr_getpshared
218
+ pthread_barrierattr_setpshared
219
+
220
+ ---------------------------
221
+ Semaphores
222
+ ---------------------------
223
+ sem_init
224
+ sem_destroy
225
+ sem_post
226
+ sem_wait
227
+ sem_trywait
228
+ sem_timedwait
229
+ sem_getvalue (# free if +ve, # of waiters if -ve)
230
+ sem_open (returns an error ENOSYS)
231
+ sem_close (returns an error ENOSYS)
232
+ sem_unlink (returns an error ENOSYS)
233
+
234
+ ---------------------------
235
+ RealTime Scheduling
236
+ ---------------------------
237
+ pthread_attr_getschedparam
238
+ pthread_attr_setschedparam
239
+ pthread_attr_getinheritsched
240
+ pthread_attr_setinheritsched
241
+ pthread_attr_getschedpolicy (only supports SCHED_OTHER)
242
+ pthread_attr_setschedpolicy (only supports SCHED_OTHER)
243
+ pthread_getschedparam
244
+ pthread_setschedparam
245
+ pthread_getconcurrency
246
+ pthread_setconcurrency
247
+ pthread_attr_getscope
248
+ pthread_attr_setscope (only supports PTHREAD_SCOPE_SYSTEM)
249
+ sched_get_priority_max
250
+ sched_get_priority_min
251
+ sched_rr_get_interval (returns an error ENOTSUP)
252
+ sched_setscheduler (only supports SCHED_OTHER)
253
+ sched_getscheduler (only supports SCHED_OTHER)
254
+ sched_yield
255
+
256
+ ---------------------------
257
+ Signals
258
+ ---------------------------
259
+ pthread_sigmask
260
+ pthread_kill (only supports zero sig value,
261
+ for thread validity checking)
262
+
263
+ ---------------------------
264
+ Non-portable routines (see the README.NONPORTABLE file for usage)
265
+ ---------------------------
266
+ pthread_getw32threadhandle_np
267
+ pthread_timechange_handler_np
268
+ pthread_delay_np
269
+ pthread_getunique_np
270
+ pthread_mutexattr_getkind_np
271
+ pthread_mutexattr_setkind_np (types: PTHREAD_MUTEX_FAST_NP,
272
+ PTHREAD_MUTEX_ERRORCHECK_NP,
273
+ PTHREAD_MUTEX_RECURSIVE_NP,
274
+ PTHREAD_MUTEX_ADAPTIVE_NP,
275
+ PTHREAD_MUTEX_TIMED_NP)
276
+ pthread_num_processors_np
277
+ pthread_win32_process_attach_np (Required when statically linking
278
+ the library)
279
+ pthread_win32_process_detach_np (Required when statically linking
280
+ the library)
281
+ pthread_win32_thread_attach_np (Required when statically linking
282
+ the library)
283
+ pthread_win32_thread_detach_np (Required when statically linking
284
+ the library)
285
+
286
+ ---------------------------
287
+ Static Initializers
288
+ ---------------------------
289
+ PTHREAD_ONCE_INIT
290
+ PTHREAD_MUTEX_INITIALIZER
291
+ PTHREAD_RECURSIVE_MUTEX_INITIALIZER
292
+ PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
293
+ PTHREAD_ERRORCHECK_MUTEX_INITIALIZER
294
+ PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
295
+ PTHREAD_COND_INITIALIZER
296
+ PTHREAD_RWLOCK_INITIALIZER
297
+ PTHREAD_SPINLOCK_INITIALIZER
298
+
299
+
300
+ The library includes two non-API functions for creating cancellation
301
+ points in applications and libraries:
302
+
303
+ pthreadCancelableWait
304
+ pthreadCancelableTimedWait
305
+
306
+
307
+ The following functions are not implemented:
308
+
309
+ ---------------------------
310
+ RealTime Scheduling
311
+ ---------------------------
312
+ pthread_mutex_getprioceiling
313
+ pthread_mutex_setprioceiling
314
+ pthread_mutex_attr_getprioceiling
315
+ pthread_mutex_attr_getprotocol
316
+ pthread_mutex_attr_setprioceiling
317
+ pthread_mutex_attr_setprotocol
318
+
319
+ ---------------------------
320
+ Fork Handlers
321
+ ---------------------------
322
+ pthread_atfork
323
+
324
+ ---------------------------
325
+ Stdio
326
+ ---------------------------
327
+ flockfile
328
+ ftrylockfile
329
+ funlockfile
330
+ getc_unlocked
331
+ getchar_unlocked
332
+ putc_unlocked
333
+ putchar_unlocked
334
+
335
+ ---------------------------
336
+ Thread-Safe C Runtime Library
337
+ ---------------------------
338
+ readdir_r
339
+ getgrgid_r
340
+ getgrnam_r
341
+ getpwuid_r
342
+ getpwnam_r
343
+
344
+ ---------------------------
345
+ Signals
346
+ ---------------------------
347
+ sigtimedwait
348
+ sigwait
349
+ sigwaitinfo
350
+
351
+ ---------------------------
352
+ General
353
+ ---------------------------
354
+ sysconf
355
+
356
+ ---------------------------
357
+ Thread-Safe C Runtime Library (macros)
358
+ ---------------------------
359
+ strtok_r
360
+ asctime_r
361
+ ctime_r
362
+ gmtime_r
363
+ localtime_r
364
+ rand_r
365
+
366
+
367
+ Availability
368
+ ------------
369
+
370
+ The prebuilt DLL, export libs (for both MSVC and Mingw32), and the header
371
+ files (pthread.h, semaphore.h, sched.h) are available along with the
372
+ complete source code.
373
+
374
+ The source code can be found at:
375
+
376
+ ftp://sources.redhat.com/pub/pthreads-win32
377
+
378
+ and as individual source code files at
379
+
380
+ ftp://sources.redhat.com/pub/pthreads-win32/source
381
+
382
+ The pre-built DLL, export libraries and include files can be found at:
383
+
384
+ ftp://sources.redhat.com/pub/pthreads-win32/dll-latest
385
+
386
+
387
+
388
+ Mailing List
389
+ ------------
390
+
391
+ There is a mailing list for discussing pthreads on Win32. To join,
392
+ send email to:
393
+
394
+ pthreads-win32-subscribe@sourceware.cygnus.com
395
+
396
+
397
+ Application Development Environments
398
+ ------------------------------------
399
+
400
+ See the README file for more information.
401
+
402
+ MSVC:
403
+ MSVC using SEH works. Distribute pthreadVSE.dll with your application.
404
+ MSVC using C++ EH works. Distribute pthreadVCE.dll with your application.
405
+ MSVC using C setjmp/longjmp works. Distribute pthreadVC.dll with your application.
406
+
407
+
408
+ Mingw32:
409
+ See the FAQ, Questions 6 and 10.
410
+
411
+ Mingw using C++ EH works. Distribute pthreadGCE.dll with your application.
412
+ Mingw using C setjmp/longjmp works. Distribute pthreadGC.dll with your application.
413
+
414
+
415
+ Cygwin: (http://sourceware.cygnus.com/cygwin/)
416
+ Developers using Cygwin do not need pthreads-win32 since it has POSIX threads
417
+ support. Refer to its documentation for details and extent.
418
+
419
+
420
+ UWIN:
421
+ UWIN is a complete Unix-like environment for Windows from AT&T. Pthreads-win32
422
+ doesn't currently support UWIN (and vice versa), but that may change in the
423
+ future.
424
+
425
+ Generally:
426
+ For convenience, the following pre-built files are available on the FTP site
427
+ (see Availability above):
428
+
429
+ pthread.h - for POSIX threads
430
+ semaphore.h - for POSIX semaphores
431
+ sched.h - for POSIX scheduling
432
+ pthreadVCE.dll - built with MSVC++ compiler using C++ EH
433
+ pthreadVCE.lib
434
+ pthreadVC.dll - built with MSVC compiler using C setjmp/longjmp
435
+ pthreadVC.lib
436
+ pthreadVSE.dll - built with MSVC compiler using SEH
437
+ pthreadVSE.lib
438
+ pthreadGCE.dll - built with Mingw32 G++ 2.95.2-1
439
+ pthreadGC.dll - built with Mingw32 GCC 2.95.2-1 using setjmp/longjmp
440
+ libpthreadGCE.a - derived from pthreadGCE.dll
441
+ libpthreadGC.a - derived from pthreadGC.dll
442
+ gcc.dll - needed if distributing applications that use
443
+ pthreadGCE.dll (but see the FAQ Q 10 for the latest
444
+ related information)
445
+
446
+ These are the only files you need in order to build POSIX threads
447
+ applications for Win32 using either MSVC or Mingw32.
448
+
449
+ See the FAQ file in the source tree for additional information.
450
+
451
+
452
+ Documentation
453
+ -------------
454
+
455
+ For the authoritative reference, see the online POSIX
456
+ standard reference at:
457
+
458
+ http://www.OpenGroup.org
459
+
460
+ For POSIX Thread API programming, several reference books are
461
+ available:
462
+
463
+ Programming with POSIX Threads
464
+ David R. Butenhof
465
+ Addison-Wesley (pub)
466
+
467
+ Pthreads Programming
468
+ By Bradford Nichols, Dick Buttlar & Jacqueline Proulx Farrell
469
+ O'Reilly (pub)
470
+
471
+ On the web: see the links at the bottom of the pthreads-win32 site:
472
+
473
+ http://sources.redhat.com/pthreads-win32/
474
+
475
+ Currently, there is no documentation included in the package apart
476
+ from the copious comments in the source code.
477
+
478
+
479
+
480
+ Enjoy!
481
+
482
+ Ross Johnson