noderb 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (361) hide show
  1. data/ext/noderb_extension/libuv/AUTHORS +11 -1
  2. data/ext/noderb_extension/libuv/LICENSE +0 -8
  3. data/ext/noderb_extension/libuv/Makefile +5 -5
  4. data/ext/noderb_extension/libuv/README +11 -6
  5. data/ext/noderb_extension/libuv/common.gypi +158 -7
  6. data/ext/noderb_extension/libuv/config-unix.mk +34 -26
  7. data/ext/noderb_extension/libuv/gyp_uv +22 -4
  8. data/ext/noderb_extension/libuv/include/{eio.h → uv-private/eio.h} +2 -2
  9. data/ext/noderb_extension/libuv/include/{uv-unix.h → uv-private/uv-unix.h} +40 -0
  10. data/ext/noderb_extension/libuv/include/{uv-win.h → uv-private/uv-win.h} +96 -14
  11. data/ext/noderb_extension/libuv/include/uv.h +508 -83
  12. data/ext/noderb_extension/libuv/src/unix/cares.c +185 -0
  13. data/ext/noderb_extension/libuv/src/unix/core.c +828 -0
  14. data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_darwin.h +4 -0
  15. data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_linux.h +5 -15
  16. data/ext/noderb_extension/libuv/src/{eio → unix/eio}/eio.c +23 -2
  17. data/ext/noderb_extension/libuv/src/unix/error.c +102 -0
  18. data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_linux.h +26 -15
  19. data/ext/noderb_extension/libuv/src/unix/fs.c +562 -0
  20. data/ext/noderb_extension/libuv/src/unix/internal.h +75 -0
  21. data/ext/noderb_extension/libuv/src/unix/pipe.c +282 -0
  22. data/ext/noderb_extension/libuv/src/unix/process.c +287 -0
  23. data/ext/noderb_extension/libuv/src/unix/stream.c +727 -0
  24. data/ext/noderb_extension/libuv/src/unix/tcp.c +226 -0
  25. data/ext/noderb_extension/libuv/src/unix/udp.c +524 -0
  26. data/ext/noderb_extension/libuv/src/{uv-eio.c → unix/uv-eio.c} +48 -27
  27. data/ext/noderb_extension/libuv/src/{uv-eio.h → unix/uv-eio.h} +1 -1
  28. data/ext/noderb_extension/libuv/src/uv-common.c +24 -14
  29. data/ext/noderb_extension/libuv/src/uv-common.h +12 -7
  30. data/ext/noderb_extension/libuv/src/win/async.c +14 -16
  31. data/ext/noderb_extension/libuv/src/win/cares.c +64 -79
  32. data/ext/noderb_extension/libuv/src/win/core.c +105 -53
  33. data/ext/noderb_extension/libuv/src/win/error.c +23 -13
  34. data/ext/noderb_extension/libuv/src/win/fs.c +807 -0
  35. data/ext/noderb_extension/libuv/src/win/getaddrinfo.c +61 -41
  36. data/ext/noderb_extension/libuv/src/win/handle.c +56 -30
  37. data/ext/noderb_extension/libuv/src/win/internal.h +134 -95
  38. data/ext/noderb_extension/libuv/src/win/loop-watcher.c +21 -18
  39. data/ext/noderb_extension/libuv/src/win/pipe.c +313 -158
  40. data/ext/noderb_extension/libuv/src/win/process.c +117 -131
  41. data/ext/noderb_extension/libuv/src/win/req.c +55 -31
  42. data/ext/noderb_extension/libuv/src/win/stdio.c +5 -5
  43. data/ext/noderb_extension/libuv/src/win/stream.c +19 -14
  44. data/ext/noderb_extension/libuv/src/win/tcp.c +278 -336
  45. data/ext/noderb_extension/libuv/src/win/threadpool.c +73 -0
  46. data/ext/noderb_extension/libuv/src/win/timer.c +44 -37
  47. data/ext/noderb_extension/libuv/src/win/udp.c +592 -0
  48. data/ext/noderb_extension/libuv/src/win/util.c +20 -6
  49. data/ext/noderb_extension/libuv/src/win/winapi.c +23 -6
  50. data/ext/noderb_extension/libuv/src/win/winapi.h +4206 -0
  51. data/ext/noderb_extension/libuv/src/win/winsock.c +270 -0
  52. data/ext/noderb_extension/libuv/src/win/winsock.h +134 -0
  53. data/ext/noderb_extension/libuv/test/benchmark-ares.c +10 -6
  54. data/ext/noderb_extension/libuv/test/benchmark-getaddrinfo.c +10 -7
  55. data/ext/noderb_extension/libuv/test/benchmark-list.h +21 -0
  56. data/ext/noderb_extension/libuv/test/benchmark-ping-pongs.c +11 -7
  57. data/ext/noderb_extension/libuv/test/benchmark-pound.c +147 -58
  58. data/ext/noderb_extension/libuv/test/benchmark-pump.c +29 -23
  59. data/ext/noderb_extension/libuv/test/benchmark-spawn.c +13 -10
  60. data/ext/noderb_extension/libuv/test/benchmark-udp-packet-storm.c +250 -0
  61. data/ext/noderb_extension/libuv/test/dns-server.c +11 -6
  62. data/ext/noderb_extension/libuv/test/echo-server.c +30 -22
  63. data/ext/noderb_extension/libuv/test/test-async.c +3 -3
  64. data/ext/noderb_extension/libuv/test/test-callback-stack.c +6 -6
  65. data/ext/noderb_extension/libuv/test/test-connection-fail.c +6 -5
  66. data/ext/noderb_extension/libuv/test/test-delayed-accept.c +13 -13
  67. data/ext/noderb_extension/libuv/test/test-fs.c +715 -0
  68. data/ext/noderb_extension/libuv/test/test-getaddrinfo.c +11 -8
  69. data/ext/noderb_extension/libuv/test/test-gethostbyname.c +8 -9
  70. data/ext/noderb_extension/libuv/test/test-getsockname.c +142 -16
  71. data/ext/noderb_extension/libuv/test/test-idle.c +4 -3
  72. data/ext/noderb_extension/libuv/test/test-list.h +29 -2
  73. data/ext/noderb_extension/libuv/test/test-loop-handles.c +9 -8
  74. data/ext/noderb_extension/libuv/test/test-ping-pong.c +9 -9
  75. data/ext/noderb_extension/libuv/test/test-pipe-bind-error.c +18 -14
  76. data/ext/noderb_extension/libuv/test/test-ref.c +17 -16
  77. data/ext/noderb_extension/libuv/test/test-shutdown-eof.c +5 -5
  78. data/ext/noderb_extension/libuv/test/test-spawn.c +17 -17
  79. data/ext/noderb_extension/libuv/test/test-tcp-bind-error.c +24 -18
  80. data/ext/noderb_extension/libuv/test/test-tcp-bind6-error.c +19 -14
  81. data/ext/noderb_extension/libuv/test/test-tcp-writealot.c +6 -5
  82. data/ext/noderb_extension/libuv/test/test-threadpool.c +59 -0
  83. data/ext/noderb_extension/libuv/test/test-timer-again.c +15 -12
  84. data/ext/noderb_extension/libuv/test/test-timer.c +8 -8
  85. data/ext/noderb_extension/libuv/test/test-udp-dgram-too-big.c +88 -0
  86. data/ext/noderb_extension/libuv/test/test-udp-ipv6.c +158 -0
  87. data/ext/noderb_extension/libuv/test/test-udp-send-and-recv.c +210 -0
  88. data/ext/noderb_extension/libuv/{all.gyp → uv.gyp} +75 -77
  89. data/ext/noderb_extension/libuv/vcbuild.bat +93 -0
  90. data/ext/noderb_extension/noderb.c +13 -0
  91. data/ext/noderb_extension/noderb_common.h +2 -1
  92. data/ext/noderb_extension/noderb_defer.c +54 -0
  93. data/ext/noderb_extension/noderb_defer.h +15 -0
  94. data/ext/noderb_extension/noderb_dns.c +1 -1
  95. data/ext/noderb_extension/noderb_fs.c +277 -0
  96. data/ext/noderb_extension/noderb_fs.h +27 -0
  97. data/ext/noderb_extension/noderb_process.c +5 -5
  98. data/ext/noderb_extension/noderb_tcp.c +10 -6
  99. data/ext/noderb_extension/noderb_timers.c +1 -1
  100. data/ext/noderb_extension/noderb_tools.c +42 -8
  101. data/ext/noderb_extension/noderb_tools.h +3 -1
  102. data/lib/noderb/defer.rb +25 -0
  103. data/lib/noderb/file.rb +119 -0
  104. data/lib/noderb/fs.rb +72 -0
  105. data/lib/noderb/version.rb +1 -1
  106. data/lib/noderb.rb +8 -0
  107. metadata +102 -266
  108. data/ext/noderb_extension/libuv/BSDmakefile +0 -2
  109. data/ext/noderb_extension/libuv/create-msvs-files.bat +0 -21
  110. data/ext/noderb_extension/libuv/deps/pthread-win32/ANNOUNCE +0 -482
  111. data/ext/noderb_extension/libuv/deps/pthread-win32/BUGS +0 -141
  112. data/ext/noderb_extension/libuv/deps/pthread-win32/Bmakefile +0 -268
  113. data/ext/noderb_extension/libuv/deps/pthread-win32/CONTRIBUTORS +0 -140
  114. data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING +0 -150
  115. data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING.LIB +0 -504
  116. data/ext/noderb_extension/libuv/deps/pthread-win32/ChangeLog +0 -5194
  117. data/ext/noderb_extension/libuv/deps/pthread-win32/FAQ +0 -451
  118. data/ext/noderb_extension/libuv/deps/pthread-win32/GNUmakefile +0 -593
  119. data/ext/noderb_extension/libuv/deps/pthread-win32/MAINTAINERS +0 -4
  120. data/ext/noderb_extension/libuv/deps/pthread-win32/Makefile +0 -516
  121. data/ext/noderb_extension/libuv/deps/pthread-win32/NEWS +0 -1245
  122. data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile +0 -24
  123. data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile.tests +0 -260
  124. data/ext/noderb_extension/libuv/deps/pthread-win32/PROGRESS +0 -4
  125. data/ext/noderb_extension/libuv/deps/pthread-win32/README +0 -601
  126. data/ext/noderb_extension/libuv/deps/pthread-win32/README.Borland +0 -57
  127. data/ext/noderb_extension/libuv/deps/pthread-win32/README.CV +0 -3036
  128. data/ext/noderb_extension/libuv/deps/pthread-win32/README.NONPORTABLE +0 -783
  129. data/ext/noderb_extension/libuv/deps/pthread-win32/README.Watcom +0 -62
  130. data/ext/noderb_extension/libuv/deps/pthread-win32/README.WinCE +0 -6
  131. data/ext/noderb_extension/libuv/deps/pthread-win32/TODO +0 -7
  132. data/ext/noderb_extension/libuv/deps/pthread-win32/WinCE-PORT +0 -222
  133. data/ext/noderb_extension/libuv/deps/pthread-win32/attr.c +0 -53
  134. data/ext/noderb_extension/libuv/deps/pthread-win32/autostatic.c +0 -69
  135. data/ext/noderb_extension/libuv/deps/pthread-win32/barrier.c +0 -47
  136. data/ext/noderb_extension/libuv/deps/pthread-win32/build/all.gyp +0 -207
  137. data/ext/noderb_extension/libuv/deps/pthread-win32/builddmc.bat +0 -9
  138. data/ext/noderb_extension/libuv/deps/pthread-win32/cancel.c +0 -44
  139. data/ext/noderb_extension/libuv/deps/pthread-win32/cleanup.c +0 -148
  140. data/ext/noderb_extension/libuv/deps/pthread-win32/condvar.c +0 -50
  141. data/ext/noderb_extension/libuv/deps/pthread-win32/config.h +0 -153
  142. data/ext/noderb_extension/libuv/deps/pthread-win32/context.h +0 -74
  143. data/ext/noderb_extension/libuv/deps/pthread-win32/create.c +0 -308
  144. data/ext/noderb_extension/libuv/deps/pthread-win32/dll.c +0 -92
  145. data/ext/noderb_extension/libuv/deps/pthread-win32/errno.c +0 -94
  146. data/ext/noderb_extension/libuv/deps/pthread-win32/exit.c +0 -44
  147. data/ext/noderb_extension/libuv/deps/pthread-win32/fork.c +0 -39
  148. data/ext/noderb_extension/libuv/deps/pthread-win32/global.c +0 -107
  149. data/ext/noderb_extension/libuv/deps/pthread-win32/implement.h +0 -944
  150. data/ext/noderb_extension/libuv/deps/pthread-win32/misc.c +0 -50
  151. data/ext/noderb_extension/libuv/deps/pthread-win32/mutex.c +0 -62
  152. data/ext/noderb_extension/libuv/deps/pthread-win32/need_errno.h +0 -145
  153. data/ext/noderb_extension/libuv/deps/pthread-win32/nonportable.c +0 -47
  154. data/ext/noderb_extension/libuv/deps/pthread-win32/private.c +0 -54
  155. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.c +0 -66
  156. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsp +0 -142
  157. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsw +0 -29
  158. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.h +0 -1368
  159. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_destroy.c +0 -79
  160. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getdetachstate.c +0 -86
  161. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getinheritsched.c +0 -51
  162. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedparam.c +0 -52
  163. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedpolicy.c +0 -61
  164. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getscope.c +0 -54
  165. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstackaddr.c +0 -97
  166. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstacksize.c +0 -100
  167. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_init.c +0 -117
  168. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setdetachstate.c +0 -91
  169. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setinheritsched.c +0 -57
  170. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedparam.c +0 -63
  171. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedpolicy.c +0 -55
  172. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setscope.c +0 -62
  173. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstackaddr.c +0 -97
  174. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstacksize.c +0 -110
  175. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_destroy.c +0 -103
  176. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_init.c +0 -69
  177. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_wait.c +0 -104
  178. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_destroy.c +0 -83
  179. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_getpshared.c +0 -95
  180. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_init.c +0 -85
  181. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_setpshared.c +0 -119
  182. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cancel.c +0 -189
  183. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_destroy.c +0 -253
  184. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_init.c +0 -167
  185. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_signal.c +0 -231
  186. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_wait.c +0 -567
  187. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_destroy.c +0 -86
  188. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_getpshared.c +0 -97
  189. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_init.c +0 -87
  190. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_setpshared.c +0 -117
  191. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_delay_np.c +0 -172
  192. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_detach.c +0 -136
  193. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_equal.c +0 -76
  194. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_exit.c +0 -106
  195. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getconcurrency.c +0 -45
  196. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getschedparam.c +0 -75
  197. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getspecific.c +0 -87
  198. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getunique_np.c +0 -47
  199. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getw32threadhandle_np.c +0 -65
  200. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_join.c +0 -157
  201. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_create.c +0 -108
  202. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_delete.c +0 -125
  203. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_kill.c +0 -105
  204. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_consistent.c +0 -187
  205. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_destroy.c +0 -148
  206. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_init.c +0 -130
  207. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_lock.c +0 -269
  208. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_timedlock.c +0 -324
  209. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_trylock.c +0 -154
  210. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_unlock.c +0 -175
  211. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_destroy.c +0 -83
  212. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getkind_np.c +0 -44
  213. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getpshared.c +0 -95
  214. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getrobust.c +0 -113
  215. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_gettype.c +0 -56
  216. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_init.c +0 -86
  217. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setkind_np.c +0 -44
  218. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setpshared.c +0 -119
  219. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setrobust.c +0 -119
  220. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_settype.c +0 -143
  221. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_num_processors_np.c +0 -56
  222. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_once.c +0 -79
  223. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_destroy.c +0 -143
  224. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_init.c +0 -109
  225. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_rdlock.c +0 -102
  226. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedrdlock.c +0 -109
  227. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedwrlock.c +0 -139
  228. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_tryrdlock.c +0 -102
  229. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_trywrlock.c +0 -122
  230. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_unlock.c +0 -93
  231. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_wrlock.c +0 -133
  232. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_destroy.c +0 -84
  233. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_getpshared.c +0 -97
  234. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_init.c +0 -83
  235. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_setpshared.c +0 -120
  236. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_self.c +0 -141
  237. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcancelstate.c +0 -125
  238. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcanceltype.c +0 -126
  239. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setconcurrency.c +0 -53
  240. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setschedparam.c +0 -123
  241. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setspecific.c +0 -167
  242. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_destroy.c +0 -111
  243. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_init.c +0 -123
  244. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_lock.c +0 -80
  245. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_trylock.c +0 -77
  246. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_unlock.c +0 -71
  247. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_testcancel.c +0 -103
  248. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_timechange_handler_np.c +0 -108
  249. data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_win32_attach_detach_np.c +0 -258
  250. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_MCS_lock.c +0 -278
  251. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_callUserDestroyRoutines.c +0 -232
  252. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_calloc.c +0 -56
  253. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_cond_check_need_init.c +0 -78
  254. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_getprocessors.c +0 -91
  255. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_is_attr.c +0 -47
  256. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_mutex_check_need_init.c +0 -92
  257. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_new.c +0 -94
  258. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processInitialize.c +0 -92
  259. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processTerminate.c +0 -105
  260. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_relmillisecs.c +0 -132
  261. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_reuse.c +0 -151
  262. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_cancelwrwait.c +0 -50
  263. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_check_need_init.c +0 -77
  264. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_semwait.c +0 -135
  265. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_spinlock_check_need_init.c +0 -78
  266. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadDestroy.c +0 -79
  267. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadStart.c +0 -357
  268. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_throw.c +0 -189
  269. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_timespec.c +0 -83
  270. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocCreate.c +0 -118
  271. data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocDestroy.c +0 -114
  272. data/ext/noderb_extension/libuv/deps/pthread-win32/rwlock.c +0 -51
  273. data/ext/noderb_extension/libuv/deps/pthread-win32/sched.c +0 -53
  274. data/ext/noderb_extension/libuv/deps/pthread-win32/sched.h +0 -183
  275. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_max.c +0 -134
  276. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_min.c +0 -135
  277. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_getscheduler.c +0 -71
  278. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_setscheduler.c +0 -83
  279. data/ext/noderb_extension/libuv/deps/pthread-win32/sched_yield.c +0 -71
  280. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_close.c +0 -58
  281. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_destroy.c +0 -144
  282. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_getvalue.c +0 -110
  283. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_init.c +0 -169
  284. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_open.c +0 -58
  285. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post.c +0 -128
  286. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post_multiple.c +0 -142
  287. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_timedwait.c +0 -238
  288. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_trywait.c +0 -117
  289. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_unlink.c +0 -58
  290. data/ext/noderb_extension/libuv/deps/pthread-win32/sem_wait.c +0 -187
  291. data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.c +0 -69
  292. data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.h +0 -169
  293. data/ext/noderb_extension/libuv/deps/pthread-win32/signal.c +0 -179
  294. data/ext/noderb_extension/libuv/deps/pthread-win32/spin.c +0 -46
  295. data/ext/noderb_extension/libuv/deps/pthread-win32/sync.c +0 -43
  296. data/ext/noderb_extension/libuv/deps/pthread-win32/tsd.c +0 -44
  297. data/ext/noderb_extension/libuv/deps/pthread-win32/version.rc +0 -388
  298. data/ext/noderb_extension/libuv/deps/pthread-win32/w32_CancelableWait.c +0 -161
  299. data/ext/noderb_extension/libuv/doc/iocp-links.html +0 -574
  300. data/ext/noderb_extension/libuv/src/uv-unix.c +0 -2421
  301. data/ext/noderb_extension/libuv/src/win/ntdll.h +0 -130
  302. /data/ext/noderb_extension/libuv/include/{ev.h → uv-private/ev.h} +0 -0
  303. /data/ext/noderb_extension/libuv/include/{ngx-queue.h → uv-private/ngx-queue.h} +0 -0
  304. /data/ext/noderb_extension/libuv/include/{tree.h → uv-private/tree.h} +0 -0
  305. /data/ext/noderb_extension/libuv/src/{uv-cygwin.c → unix/cygwin.c} +0 -0
  306. /data/ext/noderb_extension/libuv/src/{uv-darwin.c → unix/darwin.c} +0 -0
  307. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/Changes +0 -0
  308. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/LICENSE +0 -0
  309. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/Makefile.am +0 -0
  310. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/aclocal.m4 +0 -0
  311. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/autogen.sh +0 -0
  312. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config.h.in +0 -0
  313. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_cygwin.h +0 -0
  314. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_freebsd.h +0 -0
  315. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/config_sunos.h +0 -0
  316. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/configure.ac +0 -0
  317. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/demo.c +0 -0
  318. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/ecb.h +0 -0
  319. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/eio.3 +0 -0
  320. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/eio.pod +0 -0
  321. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/libeio.m4 +0 -0
  322. /data/ext/noderb_extension/libuv/src/{eio → unix/eio}/xthread.h +0 -0
  323. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/Changes +0 -0
  324. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/LICENSE +0 -0
  325. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/Makefile.am +0 -0
  326. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/Makefile.in +0 -0
  327. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/README +0 -0
  328. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/aclocal.m4 +0 -0
  329. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/autogen.sh +0 -0
  330. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config.guess +0 -0
  331. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config.h.in +0 -0
  332. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config.sub +0 -0
  333. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_cygwin.h +0 -0
  334. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_darwin.h +0 -0
  335. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_freebsd.h +0 -0
  336. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/config_sunos.h +0 -0
  337. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/configure +0 -0
  338. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/configure.ac +0 -0
  339. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/depcomp +0 -0
  340. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev++.h +0 -0
  341. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev.3 +0 -0
  342. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev.c +0 -0
  343. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev.pod +0 -0
  344. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_epoll.c +0 -0
  345. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_kqueue.c +0 -0
  346. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_poll.c +0 -0
  347. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_port.c +0 -0
  348. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_select.c +0 -0
  349. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_vars.h +0 -0
  350. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_win32.c +0 -0
  351. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ev_wrap.h +0 -0
  352. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/event.c +0 -0
  353. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/event.h +0 -0
  354. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/install-sh +0 -0
  355. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/libev.m4 +0 -0
  356. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/ltmain.sh +0 -0
  357. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/missing +0 -0
  358. /data/ext/noderb_extension/libuv/src/{ev → unix/ev}/mkinstalldirs +0 -0
  359. /data/ext/noderb_extension/libuv/src/{uv-freebsd.c → unix/freebsd.c} +0 -0
  360. /data/ext/noderb_extension/libuv/src/{uv-linux.c → unix/linux.c} +0 -0
  361. /data/ext/noderb_extension/libuv/src/{uv-sunos.c → unix/sunos.c} +0 -0
@@ -1,118 +0,0 @@
1
- /*
2
- * ptw32_tkAssocCreate.c
3
- *
4
- * Description:
5
- * This translation unit implements routines which are private to
6
- * the implementation and may be used throughout it.
7
- *
8
- * --------------------------------------------------------------------------
9
- *
10
- * Pthreads-win32 - POSIX Threads Library for Win32
11
- * Copyright(C) 1998 John E. Bossom
12
- * Copyright(C) 1999,2005 Pthreads-win32 contributors
13
- *
14
- * Contact Email: rpj@callisto.canberra.edu.au
15
- *
16
- * The current list of contributors is contained
17
- * in the file CONTRIBUTORS included with the source
18
- * code distribution. The list can also be seen at the
19
- * following World Wide Web location:
20
- * http://sources.redhat.com/pthreads-win32/contributors.html
21
- *
22
- * This library is free software; you can redistribute it and/or
23
- * modify it under the terms of the GNU Lesser General Public
24
- * License as published by the Free Software Foundation; either
25
- * version 2 of the License, or (at your option) any later version.
26
- *
27
- * This library is distributed in the hope that it will be useful,
28
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
29
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
30
- * Lesser General Public License for more details.
31
- *
32
- * You should have received a copy of the GNU Lesser General Public
33
- * License along with this library in the file COPYING.LIB;
34
- * if not, write to the Free Software Foundation, Inc.,
35
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
36
- */
37
-
38
- #include "pthread.h"
39
- #include "implement.h"
40
-
41
-
42
- int
43
- ptw32_tkAssocCreate (ptw32_thread_t * sp, pthread_key_t key)
44
- /*
45
- * -------------------------------------------------------------------
46
- * This routine creates an association that
47
- * is unique for the given (thread,key) combination.The association
48
- * is referenced by both the thread and the key.
49
- * This association allows us to determine what keys the
50
- * current thread references and what threads a given key
51
- * references.
52
- * See the detailed description
53
- * at the beginning of this file for further details.
54
- *
55
- * Notes:
56
- * 1) New associations are pushed to the beginning of the
57
- * chain so that the internal ptw32_selfThreadKey association
58
- * is always last, thus allowing selfThreadExit to
59
- * be implicitly called last by pthread_exit.
60
- * 2)
61
- *
62
- * Parameters:
63
- * thread
64
- * current running thread.
65
- * key
66
- * key on which to create an association.
67
- * Returns:
68
- * 0 - if successful,
69
- * ENOMEM - not enough memory to create assoc or other object
70
- * EINVAL - an internal error occurred
71
- * ENOSYS - an internal error occurred
72
- * -------------------------------------------------------------------
73
- */
74
- {
75
- ThreadKeyAssoc *assoc;
76
-
77
- /*
78
- * Have to create an association and add it
79
- * to both the key and the thread.
80
- *
81
- * Both key->keyLock and thread->threadLock are locked before
82
- * entry to this routine.
83
- */
84
- assoc = (ThreadKeyAssoc *) calloc (1, sizeof (*assoc));
85
-
86
- if (assoc == NULL)
87
- {
88
- return ENOMEM;
89
- }
90
-
91
- assoc->thread = sp;
92
- assoc->key = key;
93
-
94
- /*
95
- * Register assoc with key
96
- */
97
- assoc->prevThread = NULL;
98
- assoc->nextThread = (ThreadKeyAssoc *) key->threads;
99
- if (assoc->nextThread != NULL)
100
- {
101
- assoc->nextThread->prevThread = assoc;
102
- }
103
- key->threads = (void *) assoc;
104
-
105
- /*
106
- * Register assoc with thread
107
- */
108
- assoc->prevKey = NULL;
109
- assoc->nextKey = (ThreadKeyAssoc *) sp->keys;
110
- if (assoc->nextKey != NULL)
111
- {
112
- assoc->nextKey->prevKey = assoc;
113
- }
114
- sp->keys = (void *) assoc;
115
-
116
- return (0);
117
-
118
- } /* ptw32_tkAssocCreate */
@@ -1,114 +0,0 @@
1
- /*
2
- * ptw32_tkAssocDestroy.c
3
- *
4
- * Description:
5
- * This translation unit implements routines which are private to
6
- * the implementation and may be used throughout it.
7
- *
8
- * --------------------------------------------------------------------------
9
- *
10
- * Pthreads-win32 - POSIX Threads Library for Win32
11
- * Copyright(C) 1998 John E. Bossom
12
- * Copyright(C) 1999,2005 Pthreads-win32 contributors
13
- *
14
- * Contact Email: rpj@callisto.canberra.edu.au
15
- *
16
- * The current list of contributors is contained
17
- * in the file CONTRIBUTORS included with the source
18
- * code distribution. The list can also be seen at the
19
- * following World Wide Web location:
20
- * http://sources.redhat.com/pthreads-win32/contributors.html
21
- *
22
- * This library is free software; you can redistribute it and/or
23
- * modify it under the terms of the GNU Lesser General Public
24
- * License as published by the Free Software Foundation; either
25
- * version 2 of the License, or (at your option) any later version.
26
- *
27
- * This library is distributed in the hope that it will be useful,
28
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
29
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
30
- * Lesser General Public License for more details.
31
- *
32
- * You should have received a copy of the GNU Lesser General Public
33
- * License along with this library in the file COPYING.LIB;
34
- * if not, write to the Free Software Foundation, Inc.,
35
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
36
- */
37
-
38
- #include "pthread.h"
39
- #include "implement.h"
40
-
41
-
42
- void
43
- ptw32_tkAssocDestroy (ThreadKeyAssoc * assoc)
44
- /*
45
- * -------------------------------------------------------------------
46
- * This routine releases all resources for the given ThreadKeyAssoc
47
- * once it is no longer being referenced
48
- * ie) either the key or thread has stopped referencing it.
49
- *
50
- * Parameters:
51
- * assoc
52
- * an instance of ThreadKeyAssoc.
53
- * Returns:
54
- * N/A
55
- * -------------------------------------------------------------------
56
- */
57
- {
58
-
59
- /*
60
- * Both key->keyLock and thread->threadLock are locked before
61
- * entry to this routine.
62
- */
63
- if (assoc != NULL)
64
- {
65
- ThreadKeyAssoc * prev, * next;
66
-
67
- /* Remove assoc from thread's keys chain */
68
- prev = assoc->prevKey;
69
- next = assoc->nextKey;
70
- if (prev != NULL)
71
- {
72
- prev->nextKey = next;
73
- }
74
- if (next != NULL)
75
- {
76
- next->prevKey = prev;
77
- }
78
-
79
- if (assoc->thread->keys == assoc)
80
- {
81
- /* We're at the head of the thread's keys chain */
82
- assoc->thread->keys = next;
83
- }
84
- if (assoc->thread->nextAssoc == assoc)
85
- {
86
- /*
87
- * Thread is exiting and we're deleting the assoc to be processed next.
88
- * Hand thread the assoc after this one.
89
- */
90
- assoc->thread->nextAssoc = next;
91
- }
92
-
93
- /* Remove assoc from key's threads chain */
94
- prev = assoc->prevThread;
95
- next = assoc->nextThread;
96
- if (prev != NULL)
97
- {
98
- prev->nextThread = next;
99
- }
100
- if (next != NULL)
101
- {
102
- next->prevThread = prev;
103
- }
104
-
105
- if (assoc->key->threads == assoc)
106
- {
107
- /* We're at the head of the key's threads chain */
108
- assoc->key->threads = next;
109
- }
110
-
111
- free (assoc);
112
- }
113
-
114
- } /* ptw32_tkAssocDestroy */
@@ -1,51 +0,0 @@
1
- /*
2
- * rwlock.c
3
- *
4
- * Description:
5
- * This translation unit implements read/write lock primitives.
6
- *
7
- * --------------------------------------------------------------------------
8
- *
9
- * Pthreads-win32 - POSIX Threads Library for Win32
10
- * Copyright(C) 1998 John E. Bossom
11
- * Copyright(C) 1999,2005 Pthreads-win32 contributors
12
- *
13
- * Contact Email: rpj@callisto.canberra.edu.au
14
- *
15
- * The current list of contributors is contained
16
- * in the file CONTRIBUTORS included with the source
17
- * code distribution. The list can also be seen at the
18
- * following World Wide Web location:
19
- * http://sources.redhat.com/pthreads-win32/contributors.html
20
- *
21
- * This library is free software; you can redistribute it and/or
22
- * modify it under the terms of the GNU Lesser General Public
23
- * License as published by the Free Software Foundation; either
24
- * version 2 of the License, or (at your option) any later version.
25
- *
26
- * This library is distributed in the hope that it will be useful,
27
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
28
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29
- * Lesser General Public License for more details.
30
- *
31
- * You should have received a copy of the GNU Lesser General Public
32
- * License along with this library in the file COPYING.LIB;
33
- * if not, write to the Free Software Foundation, Inc.,
34
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
35
- */
36
-
37
- #include "ptw32_rwlock_check_need_init.c"
38
- #include "ptw32_rwlock_cancelwrwait.c"
39
- #include "pthread_rwlock_init.c"
40
- #include "pthread_rwlock_destroy.c"
41
- #include "pthread_rwlockattr_init.c"
42
- #include "pthread_rwlockattr_destroy.c"
43
- #include "pthread_rwlockattr_getpshared.c"
44
- #include "pthread_rwlockattr_setpshared.c"
45
- #include "pthread_rwlock_rdlock.c"
46
- #include "pthread_rwlock_timedrdlock.c"
47
- #include "pthread_rwlock_wrlock.c"
48
- #include "pthread_rwlock_timedwrlock.c"
49
- #include "pthread_rwlock_unlock.c"
50
- #include "pthread_rwlock_tryrdlock.c"
51
- #include "pthread_rwlock_trywrlock.c"
@@ -1,53 +0,0 @@
1
- /*
2
- * sched.c
3
- *
4
- * Description:
5
- * POSIX thread functions that deal with thread scheduling.
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
- #include "sched.h"
40
-
41
- #include "pthread_attr_setschedpolicy.c"
42
- #include "pthread_attr_getschedpolicy.c"
43
- #include "pthread_attr_setschedparam.c"
44
- #include "pthread_attr_getschedparam.c"
45
- #include "pthread_attr_setinheritsched.c"
46
- #include "pthread_attr_getinheritsched.c"
47
- #include "pthread_setschedparam.c"
48
- #include "pthread_getschedparam.c"
49
- #include "sched_get_priority_max.c"
50
- #include "sched_get_priority_min.c"
51
- #include "sched_setscheduler.c"
52
- #include "sched_getscheduler.c"
53
- #include "sched_yield.c"
@@ -1,183 +0,0 @@
1
- /*
2
- * Module: sched.h
3
- *
4
- * Purpose:
5
- * Provides an implementation of POSIX realtime extensions
6
- * as defined in
7
- *
8
- * POSIX 1003.1b-1993 (POSIX.1b)
9
- *
10
- * --------------------------------------------------------------------------
11
- *
12
- * Pthreads-win32 - POSIX Threads Library for Win32
13
- * Copyright(C) 1998 John E. Bossom
14
- * Copyright(C) 1999,2005 Pthreads-win32 contributors
15
- *
16
- * Contact Email: rpj@callisto.canberra.edu.au
17
- *
18
- * The current list of contributors is contained
19
- * in the file CONTRIBUTORS included with the source
20
- * code distribution. The list can also be seen at the
21
- * following World Wide Web location:
22
- * http://sources.redhat.com/pthreads-win32/contributors.html
23
- *
24
- * This library is free software; you can redistribute it and/or
25
- * modify it under the terms of the GNU Lesser General Public
26
- * License as published by the Free Software Foundation; either
27
- * version 2 of the License, or (at your option) any later version.
28
- *
29
- * This library is distributed in the hope that it will be useful,
30
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
31
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
32
- * Lesser General Public License for more details.
33
- *
34
- * You should have received a copy of the GNU Lesser General Public
35
- * License along with this library in the file COPYING.LIB;
36
- * if not, write to the Free Software Foundation, Inc.,
37
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
38
- */
39
- #if !defined(_SCHED_H)
40
- #define _SCHED_H
41
-
42
- #undef PTW32_SCHED_LEVEL
43
-
44
- #if defined(_POSIX_SOURCE)
45
- #define PTW32_SCHED_LEVEL 0
46
- /* Early POSIX */
47
- #endif
48
-
49
- #if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309
50
- #undef PTW32_SCHED_LEVEL
51
- #define PTW32_SCHED_LEVEL 1
52
- /* Include 1b, 1c and 1d */
53
- #endif
54
-
55
- #if defined(INCLUDE_NP)
56
- #undef PTW32_SCHED_LEVEL
57
- #define PTW32_SCHED_LEVEL 2
58
- /* Include Non-Portable extensions */
59
- #endif
60
-
61
- #define PTW32_SCHED_LEVEL_MAX 3
62
-
63
- #if ( defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112 ) || !defined(PTW32_SCHED_LEVEL)
64
- #define PTW32_SCHED_LEVEL PTW32_SCHED_LEVEL_MAX
65
- /* Include everything */
66
- #endif
67
-
68
-
69
- #if defined(__GNUC__) && !defined(__declspec)
70
- # error Please upgrade your GNU compiler to one that supports __declspec.
71
- #endif
72
-
73
- /*
74
- * When building the library, you should define PTW32_BUILD so that
75
- * the variables/functions are exported correctly. When using the library,
76
- * do NOT define PTW32_BUILD, and then the variables/functions will
77
- * be imported correctly.
78
- */
79
- #if !defined(PTW32_STATIC_LIB)
80
- # if defined(PTW32_BUILD)
81
- # define PTW32_DLLPORT __declspec (dllexport)
82
- # else
83
- # define PTW32_DLLPORT __declspec (dllimport)
84
- # endif
85
- #else
86
- # define PTW32_DLLPORT
87
- #endif
88
-
89
- /*
90
- * This is a duplicate of what is in the autoconf config.h,
91
- * which is only used when building the pthread-win32 libraries.
92
- */
93
-
94
- #if !defined(PTW32_CONFIG_H)
95
- # if defined(WINCE)
96
- # define NEED_ERRNO
97
- # define NEED_SEM
98
- # endif
99
- # if defined(__MINGW64__)
100
- # define HAVE_STRUCT_TIMESPEC
101
- # define HAVE_MODE_T
102
- # elif defined(_UWIN) || defined(__MINGW32__)
103
- # define HAVE_MODE_T
104
- # endif
105
- #endif
106
-
107
- /*
108
- *
109
- */
110
-
111
- #if PTW32_SCHED_LEVEL >= PTW32_SCHED_LEVEL_MAX
112
- #if defined(NEED_ERRNO)
113
- #include "need_errno.h"
114
- #else
115
- #include <errno.h>
116
- #endif
117
- #endif /* PTW32_SCHED_LEVEL >= PTW32_SCHED_LEVEL_MAX */
118
-
119
- #if (defined(__MINGW64__) || defined(__MINGW32__)) || defined(_UWIN)
120
- # if PTW32_SCHED_LEVEL >= PTW32_SCHED_LEVEL_MAX
121
- /* For pid_t */
122
- # include <sys/types.h>
123
- /* Required by Unix 98 */
124
- # include <time.h>
125
- # else
126
- typedef int pid_t;
127
- # endif
128
- #else
129
- typedef int pid_t;
130
- #endif
131
-
132
- /* Thread scheduling policies */
133
-
134
- enum {
135
- SCHED_OTHER = 0,
136
- SCHED_FIFO,
137
- SCHED_RR,
138
- SCHED_MIN = SCHED_OTHER,
139
- SCHED_MAX = SCHED_RR
140
- };
141
-
142
- struct sched_param {
143
- int sched_priority;
144
- };
145
-
146
- #if defined(__cplusplus)
147
- extern "C"
148
- {
149
- #endif /* __cplusplus */
150
-
151
- PTW32_DLLPORT int __cdecl sched_yield (void);
152
-
153
- PTW32_DLLPORT int __cdecl sched_get_priority_min (int policy);
154
-
155
- PTW32_DLLPORT int __cdecl sched_get_priority_max (int policy);
156
-
157
- PTW32_DLLPORT int __cdecl sched_setscheduler (pid_t pid, int policy);
158
-
159
- PTW32_DLLPORT int __cdecl sched_getscheduler (pid_t pid);
160
-
161
- /*
162
- * Note that this macro returns ENOTSUP rather than
163
- * ENOSYS as might be expected. However, returning ENOSYS
164
- * should mean that sched_get_priority_{min,max} are
165
- * not implemented as well as sched_rr_get_interval.
166
- * This is not the case, since we just don't support
167
- * round-robin scheduling. Therefore I have chosen to
168
- * return the same value as sched_setscheduler when
169
- * SCHED_RR is passed to it.
170
- */
171
- #define sched_rr_get_interval(_pid, _interval) \
172
- ( errno = ENOTSUP, (int) -1 )
173
-
174
-
175
- #if defined(__cplusplus)
176
- } /* End of extern "C" */
177
- #endif /* __cplusplus */
178
-
179
- #undef PTW32_SCHED_LEVEL
180
- #undef PTW32_SCHED_LEVEL_MAX
181
-
182
- #endif /* !_SCHED_H */
183
-
@@ -1,134 +0,0 @@
1
- /*
2
- * sched_get_priority_max.c
3
- *
4
- * Description:
5
- * POSIX thread functions that deal with thread scheduling.
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
- #include "sched.h"
40
-
41
- /*
42
- * On Windows98, THREAD_PRIORITY_LOWEST is (-2) and
43
- * THREAD_PRIORITY_HIGHEST is 2, and everything works just fine.
44
- *
45
- * On WinCE 3.0, it so happen that THREAD_PRIORITY_LOWEST is 5
46
- * and THREAD_PRIORITY_HIGHEST is 1 (yes, I know, it is funny:
47
- * highest priority use smaller numbers) and the following happens:
48
- *
49
- * sched_get_priority_min() returns 5
50
- * sched_get_priority_max() returns 1
51
- *
52
- * The following table shows the base priority levels for combinations
53
- * of priority class and priority value in Win32.
54
- *
55
- * Process Priority Class Thread Priority Level
56
- * -----------------------------------------------------------------
57
- * 1 IDLE_PRIORITY_CLASS THREAD_PRIORITY_IDLE
58
- * 1 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_IDLE
59
- * 1 NORMAL_PRIORITY_CLASS THREAD_PRIORITY_IDLE
60
- * 1 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_IDLE
61
- * 1 HIGH_PRIORITY_CLASS THREAD_PRIORITY_IDLE
62
- * 2 IDLE_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
63
- * 3 IDLE_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
64
- * 4 IDLE_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
65
- * 4 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
66
- * 5 IDLE_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
67
- * 5 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
68
- * 5 Background NORMAL_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
69
- * 6 IDLE_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
70
- * 6 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
71
- * 6 Background NORMAL_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
72
- * 7 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
73
- * 7 Background NORMAL_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
74
- * 7 Foreground NORMAL_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
75
- * 8 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
76
- * 8 NORMAL_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
77
- * 8 Foreground NORMAL_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
78
- * 8 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
79
- * 9 NORMAL_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
80
- * 9 Foreground NORMAL_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
81
- * 9 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
82
- * 10 Foreground NORMAL_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
83
- * 10 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
84
- * 11 Foreground NORMAL_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
85
- * 11 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
86
- * 11 HIGH_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
87
- * 12 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
88
- * 12 HIGH_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
89
- * 13 HIGH_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
90
- * 14 HIGH_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
91
- * 15 HIGH_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
92
- * 15 HIGH_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
93
- * 15 IDLE_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
94
- * 15 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
95
- * 15 NORMAL_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
96
- * 15 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
97
- * 16 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_IDLE
98
- * 17 REALTIME_PRIORITY_CLASS -7
99
- * 18 REALTIME_PRIORITY_CLASS -6
100
- * 19 REALTIME_PRIORITY_CLASS -5
101
- * 20 REALTIME_PRIORITY_CLASS -4
102
- * 21 REALTIME_PRIORITY_CLASS -3
103
- * 22 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
104
- * 23 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
105
- * 24 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
106
- * 25 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
107
- * 26 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
108
- * 27 REALTIME_PRIORITY_CLASS 3
109
- * 28 REALTIME_PRIORITY_CLASS 4
110
- * 29 REALTIME_PRIORITY_CLASS 5
111
- * 30 REALTIME_PRIORITY_CLASS 6
112
- * 31 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
113
- *
114
- * Windows NT: Values -7, -6, -5, -4, -3, 3, 4, 5, and 6 are not supported.
115
- */
116
-
117
-
118
- int
119
- sched_get_priority_max (int policy)
120
- {
121
- if (policy < SCHED_MIN || policy > SCHED_MAX)
122
- {
123
- errno = EINVAL;
124
- return -1;
125
- }
126
-
127
- #if (THREAD_PRIORITY_LOWEST > THREAD_PRIORITY_NORMAL)
128
- /* WinCE? */
129
- return PTW32_MAX (THREAD_PRIORITY_IDLE, THREAD_PRIORITY_TIME_CRITICAL);
130
- #else
131
- /* This is independent of scheduling policy in Win32. */
132
- return PTW32_MAX (THREAD_PRIORITY_IDLE, THREAD_PRIORITY_TIME_CRITICAL);
133
- #endif
134
- }