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,388 @@
1
+ /* This is an implementation of the threads API of POSIX 1003.1-2001.
2
+ *
3
+ * --------------------------------------------------------------------------
4
+ *
5
+ * Pthreads-win32 - POSIX Threads Library for Win32
6
+ * Copyright(C) 1998 John E. Bossom
7
+ * Copyright(C) 1999,2005 Pthreads-win32 contributors
8
+ *
9
+ * Contact Email: rpj@callisto.canberra.edu.au
10
+ *
11
+ * The current list of contributors is contained
12
+ * in the file CONTRIBUTORS included with the source
13
+ * code distribution. The list can also be seen at the
14
+ * following World Wide Web location:
15
+ * http://sources.redhat.com/pthreads-win32/contributors.html
16
+ *
17
+ * This library is free software; you can redistribute it and/or
18
+ * modify it under the terms of the GNU Lesser General Public
19
+ * License as published by the Free Software Foundation; either
20
+ * version 2 of the License, or (at your option) any later version.
21
+ *
22
+ * This library is distributed in the hope that it will be useful,
23
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
24
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25
+ * Lesser General Public License for more details.
26
+ *
27
+ * You should have received a copy of the GNU Lesser General Public
28
+ * License along with this library in the file COPYING.LIB;
29
+ * if not, write to the Free Software Foundation, Inc.,
30
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
31
+ */
32
+
33
+ #include <winver.h>
34
+ #include "pthread.h"
35
+
36
+ /*
37
+ * Note: the correct __CLEANUP_* macro must be defined corresponding to
38
+ * the definition used for the object file builds. This is done in the
39
+ * relevent makefiles for the command line builds, but users should ensure
40
+ * that their resource compiler knows what it is too.
41
+ * If using the default (no __CLEANUP_* defined), pthread.h will define it
42
+ * as __CLEANUP_C.
43
+ */
44
+ #if defined(_WIN64)
45
+ # define PTW32_ARCH "64 bit"
46
+ #else
47
+ # define PTW32_ARCH "32 bit"
48
+ #endif
49
+
50
+ #if defined(PTW32_RC_MSC)
51
+ # if defined(__CLEANUP_C)
52
+ # define PTW32_VERSIONINFO_NAME "pthreadVC\0"
53
+ # define PTW32_VERSIONINFO_DESCRIPTION "MS C " PTW32_ARCH "\0"
54
+ # elif defined(__CLEANUP_CXX)
55
+ # define PTW32_VERSIONINFO_NAME "pthreadVCE\0"
56
+ # define PTW32_VERSIONINFO_DESCRIPTION "MS C++ " PTW32_ARCH "\0"
57
+ # elif defined(__CLEANUP_SEH)
58
+ # define PTW32_VERSIONINFO_NAME "pthreadVSE\0"
59
+ # define PTW32_VERSIONINFO_DESCRIPTION "MS C SEH " PTW32_ARCH "\0"
60
+ # else
61
+ # error Resource compiler doesn't know which cleanup style you're using - see version.rc
62
+ # endif
63
+ #elif defined(__GNUC__)
64
+ # if defined(__CLEANUP_C)
65
+ # define PTW32_VERSIONINFO_NAME "pthreadGC\0"
66
+ # define PTW32_VERSIONINFO_DESCRIPTION "GNU C " PTW32_ARCH "\0"
67
+ # elif defined(__CLEANUP_CXX)
68
+ # define PTW32_VERSIONINFO_NAME "pthreadGCE\0"
69
+ # define PTW32_VERSIONINFO_DESCRIPTION "GNU C++ " PTW32_ARCH "\0"
70
+ # else
71
+ # error Resource compiler doesn't know which cleanup style you're using - see version.rc
72
+ # endif
73
+ #elif defined(__BORLANDC__)
74
+ # if defined(__CLEANUP_C)
75
+ # define PTW32_VERSIONINFO_NAME "pthreadBC\0"
76
+ # define PTW32_VERSIONINFO_DESCRIPTION "BORLAND C " PTW32_ARCH "\0"
77
+ # elif defined(__CLEANUP_CXX)
78
+ # define PTW32_VERSIONINFO_NAME "pthreadBCE\0"
79
+ # define PTW32_VERSIONINFO_DESCRIPTION "BORLAND C++ " PTW32_ARCH "\0"
80
+ # else
81
+ # error Resource compiler doesn't know which cleanup style you're using - see version.rc
82
+ # endif
83
+ #elif defined(__WATCOMC__)
84
+ # if defined(__CLEANUP_C)
85
+ # define PTW32_VERSIONINFO_NAME "pthreadWC\0"
86
+ # define PTW32_VERSIONINFO_DESCRIPTION "WATCOM C " PTW32_ARCH "\0"
87
+ # elif defined(__CLEANUP_CXX)
88
+ # define PTW32_VERSIONINFO_NAME "pthreadWCE\0"
89
+ # define PTW32_VERSIONINFO_DESCRIPTION "WATCOM C++ " PTW32_ARCH "\0"
90
+ # else
91
+ # error Resource compiler doesn't know which cleanup style you're using - see version.rc
92
+ # endif
93
+ #else
94
+ # error Resource compiler doesn't know which compiler you're using - see version.rc
95
+ #endif
96
+
97
+
98
+ VS_VERSION_INFO VERSIONINFO
99
+ FILEVERSION PTW32_VERSION
100
+ PRODUCTVERSION PTW32_VERSION
101
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
102
+ FILEFLAGS 0
103
+ FILEOS VOS__WINDOWS32
104
+ FILETYPE VFT_DLL
105
+ BEGIN
106
+ BLOCK "StringFileInfo"
107
+ BEGIN
108
+ BLOCK "040904b0"
109
+ BEGIN
110
+ VALUE "ProductName", "POSIX Threads for Windows LPGL\0"
111
+ VALUE "ProductVersion", PTW32_VERSION_STRING
112
+ VALUE "FileVersion", PTW32_VERSION_STRING
113
+ VALUE "FileDescription", PTW32_VERSIONINFO_DESCRIPTION
114
+ VALUE "InternalName", PTW32_VERSIONINFO_NAME
115
+ VALUE "OriginalFilename", PTW32_VERSIONINFO_NAME
116
+ VALUE "CompanyName", "Open Source Software community LGPL\0"
117
+ VALUE "LegalCopyright", "Copyright (C) Project contributors 2011\0"
118
+ VALUE "Comments", "http://sourceware.org/pthreads-win32/\0"
119
+ END
120
+ END
121
+ BLOCK "VarFileInfo"
122
+ BEGIN
123
+ VALUE "Translation", 0x409, 1200
124
+ END
125
+ END
126
+
127
+ /*
128
+ VERSIONINFO Resource
129
+
130
+ The VERSIONINFO resource-definition statement creates a version-information
131
+ resource. The resource contains such information about the file as its
132
+ version number, its intended operating system, and its original filename.
133
+ The resource is intended to be used with the Version Information functions.
134
+
135
+ versionID VERSIONINFO fixed-info { block-statement...}
136
+
137
+ versionID
138
+ Version-information resource identifier. This value must be 1.
139
+
140
+ fixed-info
141
+ Version information, such as the file version and the intended operating
142
+ system. This parameter consists of the following statements.
143
+
144
+
145
+ Statement Description
146
+ --------------------------------------------------------------------------
147
+ FILEVERSION
148
+ version Binary version number for the file. The version
149
+ consists of two 32-bit integers, defined by four
150
+ 16-bit integers. For example, "FILEVERSION 3,10,0,61"
151
+ is translated into two doublewords: 0x0003000a and
152
+ 0x0000003d, in that order. Therefore, if version is
153
+ defined by the DWORD values dw1 and dw2, they need
154
+ to appear in the FILEVERSION statement as follows:
155
+ HIWORD(dw1), LOWORD(dw1), HIWORD(dw2), LOWORD(dw2).
156
+ PRODUCTVERSION
157
+ version Binary version number for the product with which the
158
+ file is distributed. The version parameter is two
159
+ 32-bit integers, defined by four 16-bit integers.
160
+ For more information about version, see the
161
+ FILEVERSION description.
162
+ FILEFLAGSMASK
163
+ fileflagsmask Bits in the FILEFLAGS statement are valid. If a bit
164
+ is set, the corresponding bit in FILEFLAGS is valid.
165
+ FILEFLAGSfileflags Attributes of the file. The fileflags parameter must
166
+ be the combination of all the file flags that are
167
+ valid at compile time. For 16-bit Windows, this
168
+ value is 0x3f.
169
+ FILEOSfileos Operating system for which this file was designed.
170
+ The fileos parameter can be one of the operating
171
+ system values given in the Remarks section.
172
+ FILETYPEfiletype General type of file. The filetype parameter can be
173
+ one of the file type values listed in the Remarks
174
+ section.
175
+ FILESUBTYPE
176
+ subtype Function of the file. The subtype parameter is zero
177
+ unless the type parameter in the FILETYPE statement
178
+ is VFT_DRV, VFT_FONT, or VFT_VXD. For a list of file
179
+ subtype values, see the Remarks section.
180
+
181
+ block-statement
182
+ Specifies one or more version-information blocks. A block can contain
183
+ string information or variable information. For more information, see
184
+ StringFileInfo Block or VarFileInfo Block.
185
+
186
+ Remarks
187
+
188
+ To use the constants specified with the VERSIONINFO statement, you must
189
+ include the Winver.h or Windows.h header file in the resource-definition file.
190
+
191
+ The following list describes the parameters used in the VERSIONINFO statement:
192
+
193
+ fileflags
194
+ A combination of the following values.
195
+
196
+ Value Description
197
+
198
+ VS_FF_DEBUG File contains debugging information or is compiled
199
+ with debugging features enabled.
200
+ VS_FF_PATCHED File has been modified and is not identical to the
201
+ original shipping file of the same version number.
202
+ VS_FF_PRERELEASE File is a development version, not a commercially
203
+ released product.
204
+ VS_FF_PRIVATEBUILD File was not built using standard release procedures.
205
+ If this value is given, the StringFileInfo block must
206
+ contain a PrivateBuild string.
207
+ VS_FF_SPECIALBUILD File was built by the original company using standard
208
+ release procedures but is a variation of the standard
209
+ file of the same version number. If this value is
210
+ given, the StringFileInfo block must contain a
211
+ SpecialBuild string.
212
+
213
+ fileos
214
+ One of the following values.
215
+
216
+ Value Description
217
+
218
+ VOS_UNKNOWN The operating system for which the file was designed
219
+ is unknown.
220
+ VOS_DOS File was designed for MS-DOS.
221
+ VOS_NT File was designed for Windows Server 2003 family,
222
+ Windows XP, Windows 2000, or Windows NT.
223
+ VOS__WINDOWS16 File was designed for 16-bit Windows.
224
+ VOS__WINDOWS32 File was designed for 32-bit Windows.
225
+ VOS_DOS_WINDOWS16 File was designed for 16-bit Windows running with
226
+ MS-DOS.
227
+ VOS_DOS_WINDOWS32 File was designed for 32-bit Windows running with
228
+ MS-DOS.
229
+ VOS_NT_WINDOWS32 File was designed for Windows Server 2003 family,
230
+ Windows XP, Windows 2000, or Windows NT.
231
+
232
+ The values 0x00002L, 0x00003L, 0x20000L and 0x30000L are reserved.
233
+
234
+ filetype
235
+ One of the following values.
236
+
237
+ Value Description
238
+
239
+ VFT_UNKNOWN File type is unknown.
240
+ VFT_APP File contains an application.
241
+ VFT_DLL File contains a dynamic-link library (DLL).
242
+ VFT_DRV File contains a device driver. If filetype is
243
+ VFT_DRV, subtype contains a more specific
244
+ description of the driver.
245
+ VFT_FONT File contains a font. If filetype is VFT_FONT,
246
+ subtype contains a more specific description of the
247
+ font.
248
+ VFT_VXD File contains a virtual device.
249
+ VFT_STATIC_LIB File contains a static-link library.
250
+
251
+ All other values are reserved for use by Microsoft.
252
+
253
+ subtype
254
+ Additional information about the file type.
255
+
256
+ If filetype specifies VFT_DRV, this parameter can be one of the
257
+ following values.
258
+
259
+ Value Description
260
+
261
+ VFT2_UNKNOWN Driver type is unknown.
262
+ VFT2_DRV_COMM File contains a communications driver.
263
+ VFT2_DRV_PRINTER File contains a printer driver.
264
+ VFT2_DRV_KEYBOARD File contains a keyboard driver.
265
+ VFT2_DRV_LANGUAGE File contains a language driver.
266
+ VFT2_DRV_DISPLAY File contains a display driver.
267
+ VFT2_DRV_MOUSE File contains a mouse driver.
268
+ VFT2_DRV_NETWORK File contains a network driver.
269
+ VFT2_DRV_SYSTEM File contains a system driver.
270
+ VFT2_DRV_INSTALLABLE File contains an installable driver.
271
+ VFT2_DRV_SOUND File contains a sound driver.
272
+ VFT2_DRV_VERSIONED_PRINTER File contains a versioned printer driver.
273
+
274
+ If filetype specifies VFT_FONT, this parameter can be one of the
275
+ following values.
276
+
277
+ Value Description
278
+
279
+ VFT2_UNKNOWN Font type is unknown.
280
+ VFT2_FONT_RASTER File contains a raster font.
281
+ VFT2_FONT_VECTOR File contains a vector font.
282
+ VFT2_FONT_TRUETYPE File contains a TrueType font.
283
+
284
+ If filetype specifies VFT_VXD, this parameter must be the virtual-device
285
+ identifier included in the virtual-device control block.
286
+
287
+ All subtype values not listed here are reserved for use by Microsoft.
288
+
289
+ langID
290
+ One of the following language codes.
291
+
292
+ Code Language Code Language
293
+
294
+ 0x0401 Arabic 0x0415 Polish
295
+ 0x0402 Bulgarian 0x0416 Portuguese (Brazil)
296
+ 0x0403 Catalan 0x0417 Rhaeto-Romanic
297
+ 0x0404 Traditional Chinese 0x0418 Romanian
298
+ 0x0405 Czech 0x0419 Russian
299
+ 0x0406 Danish 0x041A Croato-Serbian (Latin)
300
+ 0x0407 German 0x041B Slovak
301
+ 0x0408 Greek 0x041C Albanian
302
+ 0x0409 U.S. English 0x041D Swedish
303
+ 0x040A Castilian Spanish 0x041E Thai
304
+ 0x040B Finnish 0x041F Turkish
305
+ 0x040C French 0x0420 Urdu
306
+ 0x040D Hebrew 0x0421 Bahasa
307
+ 0x040E Hungarian 0x0804 Simplified Chinese
308
+ 0x040F Icelandic 0x0807 Swiss German
309
+ 0x0410 Italian 0x0809 U.K. English
310
+ 0x0411 Japanese 0x080A Mexican Spanish
311
+ 0x0412 Korean 0x080C Belgian French
312
+ 0x0413 Dutch 0x0C0C Canadian French
313
+ 0x0414 Norwegian – Bokmal 0x100C Swiss French
314
+ 0x0810 Swiss Italian 0x0816 Portuguese (Portugal)
315
+ 0x0813 Belgian Dutch 0x081A Serbo-Croatian (Cyrillic)
316
+ 0x0814 Norwegian – Nynorsk
317
+
318
+ charsetID
319
+ One of the following character-set identifiers.
320
+
321
+ Identifier Character Set
322
+
323
+ 0 7-bit ASCII
324
+ 932 Japan (Shift %G–%@ JIS X-0208)
325
+ 949 Korea (Shift %G–%@ KSC 5601)
326
+ 950 Taiwan (Big5)
327
+ 1200 Unicode
328
+ 1250 Latin-2 (Eastern European)
329
+ 1251 Cyrillic
330
+ 1252 Multilingual
331
+ 1253 Greek
332
+ 1254 Turkish
333
+ 1255 Hebrew
334
+ 1256 Arabic
335
+
336
+ string-name
337
+ One of the following predefined names.
338
+
339
+ Name Description
340
+
341
+ Comments Additional information that should be displayed for
342
+ diagnostic purposes.
343
+ CompanyName Company that produced the file%G—%@for example,
344
+ "Microsoft Corporation" or "Standard Microsystems
345
+ Corporation, Inc." This string is required.
346
+ FileDescription File description to be presented to users. This
347
+ string may be displayed in a list box when the user
348
+ is choosing files to install%G—%@for example,
349
+ "Keyboard Driver for AT-Style Keyboards". This
350
+ string is required.
351
+ FileVersion Version number of the file%G—%@for example,
352
+ "3.10" or "5.00.RC2". This string is required.
353
+ InternalName Internal name of the file, if one exists — for
354
+ example, a module name if the file is a dynamic-link
355
+ library. If the file has no internal name, this
356
+ string should be the original filename, without
357
+ extension. This string is required.
358
+ LegalCopyright Copyright notices that apply to the file. This
359
+ should include the full text of all notices, legal
360
+ symbols, copyright dates, and so on — for example,
361
+ "Copyright (C) Microsoft Corporation 1990–1999".
362
+ This string is optional.
363
+ LegalTrademarks Trademarks and registered trademarks that apply to
364
+ the file. This should include the full text of all
365
+ notices, legal symbols, trademark numbers, and so on.
366
+ This string is optional.
367
+ OriginalFilename Original name of the file, not including a path.
368
+ This information enables an application to determine
369
+ whether a file has been renamed by a user. The
370
+ format of the name depends on the file system for
371
+ which the file was created. This string is required.
372
+ PrivateBuild Information about a private version of the file — for
373
+ example, "Built by TESTER1 on \TESTBED". This string
374
+ should be present only if VS_FF_PRIVATEBUILD is
375
+ specified in the fileflags parameter of the root
376
+ block.
377
+ ProductName Name of the product with which the file is
378
+ distributed. This string is required.
379
+ ProductVersion Version of the product with which the file is
380
+ distributed — for example, "3.10" or "5.00.RC2".
381
+ This string is required.
382
+ SpecialBuild Text that indicates how this version of the file
383
+ differs from the standard version — for example,
384
+ "Private build for TESTER1 solving mouse problems
385
+ on M250 and M250E computers". This string should be
386
+ present only if VS_FF_SPECIALBUILD is specified in
387
+ the fileflags parameter of the root block.
388
+ */
@@ -0,0 +1,161 @@
1
+ /*
2
+ * w32_CancelableWait.c
3
+ *
4
+ * Description:
5
+ * This translation unit implements miscellaneous thread functions.
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
+ static INLINE int
42
+ ptw32_cancelable_wait (HANDLE waitHandle, DWORD timeout)
43
+ /*
44
+ * -------------------------------------------------------------------
45
+ * This provides an extra hook into the pthread_cancel
46
+ * mechanism that will allow you to wait on a Windows handle and make it a
47
+ * cancellation point. This function blocks until the given WIN32 handle is
48
+ * signaled or pthread_cancel has been called. It is implemented using
49
+ * WaitForMultipleObjects on 'waitHandle' and a manually reset WIN32
50
+ * event used to implement pthread_cancel.
51
+ *
52
+ * Given this hook it would be possible to implement more of the cancellation
53
+ * points.
54
+ * -------------------------------------------------------------------
55
+ */
56
+ {
57
+ int result;
58
+ pthread_t self;
59
+ ptw32_thread_t * sp;
60
+ HANDLE handles[2];
61
+ DWORD nHandles = 1;
62
+ DWORD status;
63
+
64
+ handles[0] = waitHandle;
65
+
66
+ self = pthread_self();
67
+ sp = (ptw32_thread_t *) self.p;
68
+
69
+ if (sp != NULL)
70
+ {
71
+ /*
72
+ * Get cancelEvent handle
73
+ */
74
+ if (sp->cancelState == PTHREAD_CANCEL_ENABLE)
75
+ {
76
+
77
+ if ((handles[1] = sp->cancelEvent) != NULL)
78
+ {
79
+ nHandles++;
80
+ }
81
+ }
82
+ }
83
+ else
84
+ {
85
+ handles[1] = NULL;
86
+ }
87
+
88
+ status = WaitForMultipleObjects (nHandles, handles, PTW32_FALSE, timeout);
89
+
90
+ switch (status - WAIT_OBJECT_0)
91
+ {
92
+ case 0:
93
+ /*
94
+ * Got the handle.
95
+ * In the event that both handles are signalled, the smallest index
96
+ * value (us) is returned. As it has been arranged, this ensures that
97
+ * we don't drop a signal that we should act on (i.e. semaphore,
98
+ * mutex, or condition variable etc).
99
+ */
100
+ result = 0;
101
+ break;
102
+
103
+ case 1:
104
+ /*
105
+ * Got cancel request.
106
+ * In the event that both handles are signaled, the cancel will
107
+ * be ignored (see case 0 comment).
108
+ */
109
+ ResetEvent (handles[1]);
110
+
111
+ if (sp != NULL)
112
+ {
113
+ ptw32_mcs_local_node_t stateLock;
114
+ /*
115
+ * Should handle POSIX and implicit POSIX threads..
116
+ * Make sure we haven't been async-canceled in the meantime.
117
+ */
118
+ ptw32_mcs_lock_acquire (&sp->stateLock, &stateLock);
119
+ if (sp->state < PThreadStateCanceling)
120
+ {
121
+ sp->state = PThreadStateCanceling;
122
+ sp->cancelState = PTHREAD_CANCEL_DISABLE;
123
+ ptw32_mcs_lock_release (&stateLock);
124
+ ptw32_throw (PTW32_EPS_CANCEL);
125
+
126
+ /* Never reached */
127
+ }
128
+ ptw32_mcs_lock_release (&stateLock);
129
+ }
130
+
131
+ /* Should never get to here. */
132
+ result = EINVAL;
133
+ break;
134
+
135
+ default:
136
+ if (status == WAIT_TIMEOUT)
137
+ {
138
+ result = ETIMEDOUT;
139
+ }
140
+ else
141
+ {
142
+ result = EINVAL;
143
+ }
144
+ break;
145
+ }
146
+
147
+ return (result);
148
+
149
+ } /* CancelableWait */
150
+
151
+ int
152
+ pthreadCancelableWait (HANDLE waitHandle)
153
+ {
154
+ return (ptw32_cancelable_wait (waitHandle, INFINITE));
155
+ }
156
+
157
+ int
158
+ pthreadCancelableTimedWait (HANDLE waitHandle, DWORD timeout)
159
+ {
160
+ return (ptw32_cancelable_wait (waitHandle, timeout));
161
+ }
@@ -0,0 +1,159 @@
1
+ Warning: this is not actual API but desired API.
2
+
3
+ # `uv_handle_t`
4
+
5
+ This is the abstract base class of all types of handles. All handles have in
6
+ common:
7
+
8
+ * When handles are initialized, the reference count to the event loop is
9
+ increased by one.
10
+
11
+ * The user owns the `uv_handle_t` memory and is in charge of freeing it.
12
+
13
+ * In order to free resources associated with a handle, one must `uv_close()`
14
+ and wait for the `uv_close_cb` callback. After the close callback has been
15
+ made, the user is allowed to the `uv_handle_t` object.
16
+
17
+ * The `uv_close_cb` is always made directly off the event loop. That is, it
18
+ is not called from `uv_close()`.
19
+
20
+
21
+
22
+ # `uv_tcp_server_t`
23
+
24
+ A TCP server class that is a subclass of `uv_handle_t`. This can be bound to
25
+ an address and begin accepting new TCP sockets.
26
+
27
+ int uv_bind4(uv_tcp_server_t* tcp_server, struct sockaddr_in* address);
28
+ int uv_bind6(uv_tcp_server_t* tcp_server, struct sockaddr_in6* address);
29
+
30
+ Binds the TCP server to an address. The `address` can be created with
31
+ `uv_ip4_addr()`. Call this before `uv_listen()`
32
+
33
+ Returns zero on success, -1 on failure. Errors in order of least-seriousness:
34
+
35
+ * `UV_EADDRINUSE` There is already another socket bound to the specified
36
+ address.
37
+
38
+ * `UV_EADDRNOTAVAIL` The `address` parameter is an IP address that is not
39
+
40
+ * `UV_EINVAL` The server is already bound to an address.
41
+
42
+ * `UV_EFAULT` Memory of `address` parameter is unintelligible.
43
+
44
+
45
+ int uv_listen(uv_tcp_server_t*, int backlog, uv_connection_cb cb);
46
+
47
+ Begins listening for connections. The accept callback is level-triggered.
48
+
49
+
50
+ int uv_accept(uv_tcp_server_t* server,
51
+ uv_tcp_t* client);
52
+
53
+ Accepts a connection. This should be called after the accept callback is
54
+ made. The `client` parameter should be uninitialized memory; `uv_accept` is
55
+ used instead of `uv_tcp_init` for server-side `uv_tcp_t` initialization.
56
+
57
+ Return value 0 indicates success, -1 failure. Possible errors:
58
+
59
+ * `UV_EAGAIN` There are no connections. Wait for the `uv_connection_cb` callback
60
+ to be called again.
61
+
62
+ * `UV_EFAULT` The memory of either `server` is unintelligible.
63
+
64
+
65
+
66
+ # `uv_stream_t`
67
+
68
+ An abstract subclass of `uv_handle_t`. Streams represent something that
69
+ reads and/or writes data. Streams can be half or full-duplex. TCP sockets
70
+ are streams, files are streams with offsets.
71
+
72
+ int uv_read_start(uv_stream_t* stream,
73
+ uv_alloc_cb alloc_cb,
74
+ uv_read_cb read_cb);
75
+
76
+ Starts the stream reading continuously. The `alloc_cb` is used to allow the
77
+ user to implement various means of supplying the stream with buffers to
78
+ fill. The `read_cb` returns buffers to the user filled with data.
79
+
80
+ Sometimes the buffers returned to the user do not contain data. This does
81
+ not indicate EOF as in other systems. EOF is made via the `uv_eof_cb` which
82
+ can be set like this `uv_set_eof_cb(stream, eof_cb);`
83
+
84
+
85
+ int uv_read_stop(uv_stream_t* stream);
86
+
87
+ Stops reading from the stream.
88
+
89
+ int uv_write_req_init(uv_write_req_t*,
90
+ uv_stream_t*,
91
+ uv_buf_t bufs[],
92
+ int butcnf);
93
+
94
+ Initiates a write request on a stream.
95
+
96
+ int uv_shutdown_req_init(uv_shutdown_req_t*, uv_stream_t*)
97
+
98
+ Initiates a shutdown of outgoing data once the write queue drains.
99
+
100
+
101
+
102
+ # `uv_tcp_t`
103
+
104
+ The TCP handle class represents one endpoint of a duplex TCP stream.
105
+ `uv_tcp_t` is a subclass of `uv_stream_t`. A TCP handle can represent a
106
+ client side connection (one that has been used with uv_connect_req_init`)
107
+ or a server-side connection (one that was initialized with `uv_accept`)
108
+
109
+ int uv_connect_req_init(uv_connect_req_t* req,
110
+ uv_tcp_t* socket,
111
+ struct sockaddr* addr);
112
+
113
+ Initiates a request to open a connection.
114
+
115
+
116
+
117
+ # `uv_req_t`
118
+
119
+ Abstract class represents an asynchronous request. This is a subclass of `uv_handle_t`.
120
+
121
+
122
+ # `uv_connect_req_t`
123
+
124
+ Subclass of `uv_req_t`. Represents a request for a TCP connection. Operates
125
+ on `uv_tcp_t` handles. Like other types of requests the `close_cb` indicates
126
+ completion of the request.
127
+
128
+ int uv_connect_req_init(uv_connect_req_t* req,
129
+ uv_tcp_t* socket,
130
+ struct sockaddr* addr);
131
+
132
+ Initializes the connection request. Returning 0 indicates success, -1 if
133
+ there was an error. The following values can be retrieved from
134
+ `uv_last_error` in the case of an error:
135
+
136
+ * ???
137
+
138
+
139
+ # `uv_shutdown_req_t`
140
+
141
+ Subclass of `uv_req_t`. Represents an ongoing shutdown request. Once the
142
+ write queue of the parent `uv_stream_t` is drained, the outbound data
143
+ channel is shutdown. Once a shutdown request is initiated on a stream, the
144
+ stream will allow no more writes.
145
+
146
+ int uv_shutdown_req_init(uv_shutdown_req_t*,
147
+ uv_stream_t* parent);
148
+
149
+ Initializes the shutdown request.
150
+
151
+
152
+ # `uv_write_req_t`
153
+
154
+ int uv_write_req_init(uv_write_req_t*,
155
+ uv_stream_t*,
156
+ uv_buf_t bufs[],
157
+ int butcnf);
158
+
159
+ Initiates a write request on a stream.