rbuv 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +0 -1
  6. data/README.md +6 -1
  7. data/Rakefile +42 -0
  8. data/deps/libuv/.gitignore +34 -0
  9. data/deps/libuv/.mailmap +16 -0
  10. data/deps/libuv/AUTHORS +81 -0
  11. data/deps/libuv/ChangeLog +45 -0
  12. data/deps/libuv/LICENSE +41 -0
  13. data/deps/libuv/Makefile +53 -0
  14. data/deps/libuv/README.md +118 -0
  15. data/deps/libuv/build.mk +164 -0
  16. data/deps/libuv/checksparse.sh +230 -0
  17. data/deps/libuv/common.gypi +197 -0
  18. data/deps/libuv/config-mingw.mk +48 -0
  19. data/deps/libuv/config-unix.mk +167 -0
  20. data/deps/libuv/gyp_uv +98 -0
  21. data/deps/libuv/include/uv-private/ngx-queue.h +129 -0
  22. data/deps/libuv/include/uv-private/stdint-msvc2008.h +247 -0
  23. data/deps/libuv/include/uv-private/tree.h +768 -0
  24. data/deps/libuv/include/uv-private/uv-bsd.h +34 -0
  25. data/deps/libuv/include/uv-private/uv-darwin.h +61 -0
  26. data/deps/libuv/include/uv-private/uv-linux.h +34 -0
  27. data/deps/libuv/include/uv-private/uv-sunos.h +44 -0
  28. data/deps/libuv/include/uv-private/uv-unix.h +332 -0
  29. data/deps/libuv/include/uv-private/uv-win.h +585 -0
  30. data/deps/libuv/include/uv.h +1987 -0
  31. data/deps/libuv/src/fs-poll.c +248 -0
  32. data/deps/libuv/src/inet.c +298 -0
  33. data/deps/libuv/src/unix/aix.c +393 -0
  34. data/deps/libuv/src/unix/async.c +281 -0
  35. data/deps/libuv/src/unix/core.c +714 -0
  36. data/deps/libuv/src/unix/cygwin.c +93 -0
  37. data/deps/libuv/src/unix/darwin-proctitle.m +78 -0
  38. data/deps/libuv/src/unix/darwin.c +431 -0
  39. data/deps/libuv/src/unix/dl.c +83 -0
  40. data/deps/libuv/src/unix/error.c +109 -0
  41. data/deps/libuv/src/unix/freebsd.c +343 -0
  42. data/deps/libuv/src/unix/fs.c +869 -0
  43. data/deps/libuv/src/unix/fsevents.c +299 -0
  44. data/deps/libuv/src/unix/getaddrinfo.c +159 -0
  45. data/deps/libuv/src/unix/internal.h +259 -0
  46. data/deps/libuv/src/unix/kqueue.c +347 -0
  47. data/deps/libuv/src/unix/linux-core.c +724 -0
  48. data/deps/libuv/src/unix/linux-inotify.c +236 -0
  49. data/deps/libuv/src/unix/linux-syscalls.c +388 -0
  50. data/deps/libuv/src/unix/linux-syscalls.h +150 -0
  51. data/deps/libuv/src/unix/loop-watcher.c +64 -0
  52. data/deps/libuv/src/unix/loop.c +114 -0
  53. data/deps/libuv/src/unix/netbsd.c +353 -0
  54. data/deps/libuv/src/unix/openbsd.c +304 -0
  55. data/deps/libuv/src/unix/pipe.c +261 -0
  56. data/deps/libuv/src/unix/poll.c +108 -0
  57. data/deps/libuv/src/unix/process.c +501 -0
  58. data/deps/libuv/src/unix/proctitle.c +103 -0
  59. data/deps/libuv/src/unix/signal.c +455 -0
  60. data/deps/libuv/src/unix/stream.c +1380 -0
  61. data/deps/libuv/src/unix/sunos.c +647 -0
  62. data/deps/libuv/src/unix/tcp.c +357 -0
  63. data/deps/libuv/src/unix/thread.c +431 -0
  64. data/deps/libuv/src/unix/threadpool.c +286 -0
  65. data/deps/libuv/src/unix/timer.c +153 -0
  66. data/deps/libuv/src/unix/tty.c +179 -0
  67. data/deps/libuv/src/unix/udp.c +715 -0
  68. data/deps/libuv/src/uv-common.c +431 -0
  69. data/deps/libuv/src/uv-common.h +204 -0
  70. data/deps/libuv/src/version.c +60 -0
  71. data/deps/libuv/src/win/async.c +99 -0
  72. data/deps/libuv/src/win/atomicops-inl.h +56 -0
  73. data/deps/libuv/src/win/core.c +310 -0
  74. data/deps/libuv/src/win/dl.c +86 -0
  75. data/deps/libuv/src/win/error.c +164 -0
  76. data/deps/libuv/src/win/fs-event.c +506 -0
  77. data/deps/libuv/src/win/fs.c +1951 -0
  78. data/deps/libuv/src/win/getaddrinfo.c +365 -0
  79. data/deps/libuv/src/win/handle-inl.h +164 -0
  80. data/deps/libuv/src/win/handle.c +153 -0
  81. data/deps/libuv/src/win/internal.h +346 -0
  82. data/deps/libuv/src/win/loop-watcher.c +124 -0
  83. data/deps/libuv/src/win/pipe.c +1656 -0
  84. data/deps/libuv/src/win/poll.c +615 -0
  85. data/deps/libuv/src/win/process-stdio.c +503 -0
  86. data/deps/libuv/src/win/process.c +1048 -0
  87. data/deps/libuv/src/win/req-inl.h +224 -0
  88. data/deps/libuv/src/win/req.c +25 -0
  89. data/deps/libuv/src/win/signal.c +354 -0
  90. data/deps/libuv/src/win/stream-inl.h +67 -0
  91. data/deps/libuv/src/win/stream.c +198 -0
  92. data/deps/libuv/src/win/tcp.c +1422 -0
  93. data/deps/libuv/src/win/thread.c +666 -0
  94. data/deps/libuv/src/win/threadpool.c +82 -0
  95. data/deps/libuv/src/win/timer.c +230 -0
  96. data/deps/libuv/src/win/tty.c +1857 -0
  97. data/deps/libuv/src/win/udp.c +744 -0
  98. data/deps/libuv/src/win/util.c +946 -0
  99. data/deps/libuv/src/win/winapi.c +152 -0
  100. data/deps/libuv/src/win/winapi.h +4476 -0
  101. data/deps/libuv/src/win/winsock.c +560 -0
  102. data/deps/libuv/src/win/winsock.h +171 -0
  103. data/deps/libuv/test/benchmark-async-pummel.c +119 -0
  104. data/deps/libuv/test/benchmark-async.c +139 -0
  105. data/deps/libuv/test/benchmark-fs-stat.c +136 -0
  106. data/deps/libuv/test/benchmark-getaddrinfo.c +91 -0
  107. data/deps/libuv/test/benchmark-list.h +163 -0
  108. data/deps/libuv/test/benchmark-loop-count.c +90 -0
  109. data/deps/libuv/test/benchmark-million-async.c +112 -0
  110. data/deps/libuv/test/benchmark-million-timers.c +77 -0
  111. data/deps/libuv/test/benchmark-multi-accept.c +432 -0
  112. data/deps/libuv/test/benchmark-ping-pongs.c +212 -0
  113. data/deps/libuv/test/benchmark-pound.c +325 -0
  114. data/deps/libuv/test/benchmark-pump.c +459 -0
  115. data/deps/libuv/test/benchmark-sizes.c +45 -0
  116. data/deps/libuv/test/benchmark-spawn.c +163 -0
  117. data/deps/libuv/test/benchmark-tcp-write-batch.c +141 -0
  118. data/deps/libuv/test/benchmark-thread.c +64 -0
  119. data/deps/libuv/test/benchmark-udp-pummel.c +238 -0
  120. data/deps/libuv/test/blackhole-server.c +118 -0
  121. data/deps/libuv/test/dns-server.c +329 -0
  122. data/deps/libuv/test/echo-server.c +384 -0
  123. data/deps/libuv/test/fixtures/empty_file +0 -0
  124. data/deps/libuv/test/fixtures/load_error.node +1 -0
  125. data/deps/libuv/test/run-benchmarks.c +64 -0
  126. data/deps/libuv/test/run-tests.c +159 -0
  127. data/deps/libuv/test/runner-unix.c +328 -0
  128. data/deps/libuv/test/runner-unix.h +36 -0
  129. data/deps/libuv/test/runner-win.c +318 -0
  130. data/deps/libuv/test/runner-win.h +43 -0
  131. data/deps/libuv/test/runner.c +394 -0
  132. data/deps/libuv/test/runner.h +165 -0
  133. data/deps/libuv/test/task.h +122 -0
  134. data/deps/libuv/test/test-active.c +83 -0
  135. data/deps/libuv/test/test-async.c +136 -0
  136. data/deps/libuv/test/test-barrier.c +98 -0
  137. data/deps/libuv/test/test-callback-order.c +77 -0
  138. data/deps/libuv/test/test-callback-stack.c +204 -0
  139. data/deps/libuv/test/test-condvar.c +173 -0
  140. data/deps/libuv/test/test-connection-fail.c +150 -0
  141. data/deps/libuv/test/test-cwd-and-chdir.c +64 -0
  142. data/deps/libuv/test/test-delayed-accept.c +189 -0
  143. data/deps/libuv/test/test-dlerror.c +58 -0
  144. data/deps/libuv/test/test-embed.c +136 -0
  145. data/deps/libuv/test/test-error.c +59 -0
  146. data/deps/libuv/test/test-fail-always.c +29 -0
  147. data/deps/libuv/test/test-fs-event.c +504 -0
  148. data/deps/libuv/test/test-fs-poll.c +148 -0
  149. data/deps/libuv/test/test-fs.c +1899 -0
  150. data/deps/libuv/test/test-get-currentexe.c +63 -0
  151. data/deps/libuv/test/test-get-loadavg.c +36 -0
  152. data/deps/libuv/test/test-get-memory.c +38 -0
  153. data/deps/libuv/test/test-getaddrinfo.c +120 -0
  154. data/deps/libuv/test/test-getsockname.c +344 -0
  155. data/deps/libuv/test/test-hrtime.c +54 -0
  156. data/deps/libuv/test/test-idle.c +82 -0
  157. data/deps/libuv/test/test-ipc-send-recv.c +218 -0
  158. data/deps/libuv/test/test-ipc.c +625 -0
  159. data/deps/libuv/test/test-list.h +492 -0
  160. data/deps/libuv/test/test-loop-handles.c +337 -0
  161. data/deps/libuv/test/test-loop-stop.c +73 -0
  162. data/deps/libuv/test/test-multiple-listen.c +103 -0
  163. data/deps/libuv/test/test-mutexes.c +63 -0
  164. data/deps/libuv/test/test-pass-always.c +28 -0
  165. data/deps/libuv/test/test-ping-pong.c +250 -0
  166. data/deps/libuv/test/test-pipe-bind-error.c +144 -0
  167. data/deps/libuv/test/test-pipe-connect-error.c +98 -0
  168. data/deps/libuv/test/test-platform-output.c +87 -0
  169. data/deps/libuv/test/test-poll-close.c +73 -0
  170. data/deps/libuv/test/test-poll.c +575 -0
  171. data/deps/libuv/test/test-process-title.c +49 -0
  172. data/deps/libuv/test/test-ref.c +415 -0
  173. data/deps/libuv/test/test-run-nowait.c +46 -0
  174. data/deps/libuv/test/test-run-once.c +49 -0
  175. data/deps/libuv/test/test-semaphore.c +111 -0
  176. data/deps/libuv/test/test-shutdown-close.c +105 -0
  177. data/deps/libuv/test/test-shutdown-eof.c +184 -0
  178. data/deps/libuv/test/test-signal-multiple-loops.c +270 -0
  179. data/deps/libuv/test/test-signal.c +152 -0
  180. data/deps/libuv/test/test-spawn.c +938 -0
  181. data/deps/libuv/test/test-stdio-over-pipes.c +250 -0
  182. data/deps/libuv/test/test-tcp-bind-error.c +198 -0
  183. data/deps/libuv/test/test-tcp-bind6-error.c +159 -0
  184. data/deps/libuv/test/test-tcp-close-while-connecting.c +81 -0
  185. data/deps/libuv/test/test-tcp-close.c +130 -0
  186. data/deps/libuv/test/test-tcp-connect-error-after-write.c +96 -0
  187. data/deps/libuv/test/test-tcp-connect-error.c +71 -0
  188. data/deps/libuv/test/test-tcp-connect-timeout.c +86 -0
  189. data/deps/libuv/test/test-tcp-connect6-error.c +69 -0
  190. data/deps/libuv/test/test-tcp-flags.c +52 -0
  191. data/deps/libuv/test/test-tcp-open.c +175 -0
  192. data/deps/libuv/test/test-tcp-read-stop.c +73 -0
  193. data/deps/libuv/test/test-tcp-shutdown-after-write.c +132 -0
  194. data/deps/libuv/test/test-tcp-unexpected-read.c +114 -0
  195. data/deps/libuv/test/test-tcp-write-to-half-open-connection.c +136 -0
  196. data/deps/libuv/test/test-tcp-writealot.c +171 -0
  197. data/deps/libuv/test/test-thread.c +183 -0
  198. data/deps/libuv/test/test-threadpool-cancel.c +311 -0
  199. data/deps/libuv/test/test-threadpool.c +77 -0
  200. data/deps/libuv/test/test-timer-again.c +142 -0
  201. data/deps/libuv/test/test-timer.c +266 -0
  202. data/deps/libuv/test/test-tty.c +111 -0
  203. data/deps/libuv/test/test-udp-dgram-too-big.c +87 -0
  204. data/deps/libuv/test/test-udp-ipv6.c +158 -0
  205. data/deps/libuv/test/test-udp-multicast-join.c +140 -0
  206. data/deps/libuv/test/test-udp-multicast-ttl.c +87 -0
  207. data/deps/libuv/test/test-udp-open.c +154 -0
  208. data/deps/libuv/test/test-udp-options.c +87 -0
  209. data/deps/libuv/test/test-udp-send-and-recv.c +210 -0
  210. data/deps/libuv/test/test-util.c +97 -0
  211. data/deps/libuv/test/test-walk-handles.c +78 -0
  212. data/deps/libuv/uv.gyp +431 -0
  213. data/deps/libuv/vcbuild.bat +128 -0
  214. data/ext/rbuv/debug.h +27 -0
  215. data/ext/rbuv/error.c +7 -0
  216. data/ext/rbuv/error.h +10 -0
  217. data/ext/rbuv/extconf.rb +35 -0
  218. data/ext/rbuv/handle.c +40 -0
  219. data/ext/rbuv/handle.h +14 -0
  220. data/ext/rbuv/libuv.mk +12 -0
  221. data/ext/rbuv/loop.c +50 -0
  222. data/ext/rbuv/loop.h +13 -0
  223. data/ext/rbuv/rbuv.c +15 -0
  224. data/ext/rbuv/rbuv.h +27 -0
  225. data/ext/rbuv/timer.c +133 -0
  226. data/ext/rbuv/timer.h +13 -0
  227. data/lib/rbuv/timer.rb +7 -0
  228. data/lib/rbuv/version.rb +1 -1
  229. data/lib/rbuv.rb +24 -2
  230. data/rbuv.gemspec +5 -1
  231. data/spec/spec_helper.rb +22 -0
  232. data/spec/timer_spec.rb +144 -0
  233. metadata +278 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6c126aa2a88fd9e39bfb748e032b9d72828dac26
4
- data.tar.gz: 220ae80b8fdc547ddd8b3cfb23dff66794c91bb2
3
+ metadata.gz: c9d6903efbe33b48ef3d2deb2cee18173a708ab2
4
+ data.tar.gz: dcb456920a095dfc229137299eaa597bf19b2948
5
5
  SHA512:
6
- metadata.gz: 3143ee63c68455c88a6f0355b529effb1d2962b7b3023ab076660f8bde01c8f1c5f07e1af64d5e71ae4ab3a8b18abbd34f96931819bc7c1f6dcd47f301ed98c3
7
- data.tar.gz: 65d99010f01a657dfa503e73361e99bd6382e10e3bcfa72002f669ce78a4422d2fd54d320bf33ccb2a6f596f98157c8ba28ae9c595e9a3d2b621a2edd3e9a678
6
+ metadata.gz: 561fc7896938cee33ceff8d502d8ca96ed53f12c0109f9f9b454d806de3b379d7784912b93ce410f2b8479c06dd9c3d5341e9a7516d63adf5057ef5cfb37254d
7
+ data.tar.gz: 573137d980ae1f9a77d3d251f424c1f2c12d6e188d4b2586a02b8d33e143dd240430ed279d4b9f5279ea3e413547ac3340fba2effafae662c55808e5b912340d
data/.gitignore CHANGED
@@ -15,3 +15,8 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ rbuv.bundle
19
+ .rvmrc
20
+ coverage/
21
+ xcode/
22
+ .rbx/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - rbx-19mode
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in rbuv.gemspec
4
3
  gemspec
data/README.md CHANGED
@@ -1,6 +1,11 @@
1
+ [![Build Status](https://travis-ci.org/rbuv/rbuv.png?branch=master)](https://travis-ci.org/rbuv/rbuv)
2
+ [![Dependency Status](https://gemnasium.com/rbuv/rbuv.png)](https://gemnasium.com/rbuv/rbuv)
3
+ [![Coverage Status](https://coveralls.io/repos/rbuv/rbuv/badge.png?branch=master)](https://coveralls.io/r/rbuv/rbuv)
4
+ [![Code Climate](https://codeclimate.com/github/rbuv/rbuv.png)](https://codeclimate.com/github/rbuv/rbuv)
5
+
1
6
  # Rbuv
2
7
 
3
- TODO: Write a gem description
8
+ libuv binding for Ruby.
4
9
 
5
10
  ## Installation
6
11
 
data/Rakefile CHANGED
@@ -1 +1,43 @@
1
1
  require "bundler/gem_tasks"
2
+ require 'rake/extensiontask'
3
+ require 'rspec/core/rake_task'
4
+
5
+ task :clean => ['deps:clean']
6
+
7
+ RSpec::Core::RakeTask.new(:spec)
8
+ task :spec => [:compile]
9
+
10
+ desc 'Run tests'
11
+ task :default => [:spec]
12
+
13
+ Rake::ExtensionTask.new('rbuv') do |ext|
14
+ ext.lib_dir = File.join('lib', 'rbuv')
15
+ ext.source_pattern = "*.{c,h}"
16
+ end
17
+
18
+ namespace :deps do
19
+ deps_dir = 'deps'
20
+
21
+ desc "Update all the deps"
22
+ task :update, :libuv_version do |t, args|
23
+ task('deps:libuv:update').invoke(args[:libuv_version])
24
+ end
25
+
26
+ desc "Clean all the deps"
27
+ task :clean => ['deps:libuv:clean']
28
+
29
+ namespace :libuv do
30
+ libuv_dir = File.join(deps_dir, 'libuv')
31
+
32
+ desc "Update libuv"
33
+ task :update, :version do |t, args|
34
+ version = args[:version] || '0.10.3'
35
+ `cd #{deps_dir} && ((curl -L https://github.com/joyent/libuv/archive/v#{version}.tar.gz | tar zx) && (mv libuv libuv.old; mv libuv-#{version} libuv) || (rm -rf libuv-#{version}))`
36
+ end
37
+
38
+ desc 'Clean libuv'
39
+ task :clean do
40
+ `make -C #{libuv_dir} clean`
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,34 @@
1
+ *.swp
2
+ *.[oa]
3
+ *.l[oa]
4
+ *.opensdf
5
+ *.orig
6
+ *.sdf
7
+ *.suo
8
+ core
9
+ vgcore.*
10
+ .buildstamp
11
+
12
+ /libuv.so
13
+ /libuv.dylib
14
+
15
+ /out/
16
+ /build/gyp
17
+
18
+ /run-tests
19
+ /run-tests.exe
20
+ /run-tests.dSYM
21
+ /run-benchmarks
22
+ /run-benchmarks.exe
23
+ /run-benchmarks.dSYM
24
+
25
+ *.sln
26
+ *.vcproj
27
+ *.vcxproj
28
+ *.vcxproj.filters
29
+ *.vcxproj.user
30
+ _UpgradeReport_Files/
31
+ UpgradeLog*.XML
32
+ Debug
33
+ Release
34
+ ipch
@@ -0,0 +1,16 @@
1
+ Alan Gutierrez <alan@prettyrobots.com> <alan@blogometer.com>
2
+ Bert Belder <bertbelder@gmail.com> <info@2bs.nl>
3
+ Bert Belder <bertbelder@gmail.com> <user@ChrUbuntu.(none)>
4
+ Brandon Philips <brandon.philips@rackspace.com> <brandon@ifup.org>
5
+ Brian White <mscdex@mscdex.net> <mscdex@gmail.com>
6
+ Frank Denis <github@pureftpd.org>
7
+ Isaac Z. Schlueter <i@izs.me>
8
+ Robert Mustacchi <rm@joyent.com> <rm@fingolfin.org>
9
+ Ryan Dahl <ryan@joyent.com> <ry@tinyclouds.org>
10
+ Ryan Emery <seebees@gmail.com>
11
+ San-Tai Hsu <vanilla@fatpipi.com>
12
+ Saúl Ibarra Corretgé <saghul@gmail.com>
13
+ Shigeki Ohtsu <ohtsu@iij.ad.jp> <ohtsu@ohtsu.org>
14
+ Timothy J. Fontaine <tjfontaine@gmail.com>
15
+ Yasuhiro Matsumoto <mattn.jp@gmail.com>
16
+ Yuki Okumura <mjt@cltn.org>
@@ -0,0 +1,81 @@
1
+ # Authors ordered by first contribution.
2
+ Ryan Dahl <ryan@joyent.com>
3
+ Bert Belder <bertbelder@gmail.com>
4
+ Josh Roesslein <jroesslein@gmail.com>
5
+ Alan Gutierrez <alan@prettyrobots.com>
6
+ Joshua Peek <josh@joshpeek.com>
7
+ Igor Zinkovsky <igorzi@microsoft.com>
8
+ San-Tai Hsu <vanilla@fatpipi.com>
9
+ Ben Noordhuis <info@bnoordhuis.nl>
10
+ Henry Rawas <henryr@schakra.com>
11
+ Robert Mustacchi <rm@joyent.com>
12
+ Matt Stevens <matt@alloysoft.com>
13
+ Paul Querna <pquerna@apache.org>
14
+ Shigeki Ohtsu <ohtsu@iij.ad.jp>
15
+ Tom Hughes <tom.hughes@palm.com>
16
+ Peter Bright <drpizza@quiscalusmexicanus.org>
17
+ Jeroen Janssen <jeroen.janssen@gmail.com>
18
+ Andrea Lattuada <ndr.lattuada@gmail.com>
19
+ Augusto Henrique Hentz <ahhentz@gmail.com>
20
+ Clifford Heath <clifford.heath@gmail.com>
21
+ Jorge Chamorro Bieling <jorge@jorgechamorro.com>
22
+ Luis Lavena <luislavena@gmail.com>
23
+ Matthew Sporleder <msporleder@gmail.com>
24
+ Erick Tryzelaar <erick.tryzelaar@gmail.com>
25
+ Isaac Z. Schlueter <i@izs.me>
26
+ Pieter Noordhuis <pcnoordhuis@gmail.com>
27
+ Marek Jelen <marek@jelen.biz>
28
+ Fedor Indutny <fedor.indutny@gmail.com>
29
+ Saúl Ibarra Corretgé <saghul@gmail.com>
30
+ Felix Geisendörfer <felix@debuggable.com>
31
+ Yuki Okumura <mjt@cltn.org>
32
+ Roman Shtylman <shtylman@gmail.com>
33
+ Frank Denis <github@pureftpd.org>
34
+ Carter Allen <CarterA@opt-6.com>
35
+ Tj Holowaychuk <tj@vision-media.ca>
36
+ Shimon Doodkin <helpmepro1@gmail.com>
37
+ Ryan Emery <seebees@gmail.com>
38
+ Bruce Mitchener <bruce.mitchener@gmail.com>
39
+ Maciej Małecki <maciej.malecki@notimplemented.org>
40
+ Yasuhiro Matsumoto <mattn.jp@gmail.com>
41
+ Daisuke Murase <typester@cpan.org>
42
+ Paddy Byers <paddy.byers@gmail.com>
43
+ Dan VerWeire <dverweire@gmail.com>
44
+ Brandon Benvie <brandon@bbenvie.com>
45
+ Brandon Philips <brandon.philips@rackspace.com>
46
+ Nathan Rajlich <nathan@tootallnate.net>
47
+ Charlie McConnell <charlie@charlieistheman.com>
48
+ Vladimir Dronnikov <dronnikov@gmail.com>
49
+ Aaron Bieber <qbit@deftly.net>
50
+ Bulat Shakirzyanov <mallluhuct@gmail.com>
51
+ Brian White <mscdex@mscdex.net>
52
+ Erik Dubbelboer <erik@dubbelboer.com>
53
+ Keno Fischer <kenof@stanford.edu>
54
+ Ira Cooper <Ira.Cooper@mathworks.com>
55
+ Andrius Bentkus <andrius.bentkus@gmail.com>
56
+ Iñaki Baz Castillo <ibc@aliax.net>
57
+ Mark Cavage <mark.cavage@joyent.com>
58
+ George Yohng <georgegh@oss3d.com>
59
+ Xidorn Quan <quanxunzhen@gmail.com>
60
+ Roman Neuhauser <rneuhauser@suse.cz>
61
+ Shuhei Tanuma <shuhei.tanuma@gmail.com>
62
+ Bryan Cantrill <bcantrill@acm.org>
63
+ Trond Norbye <trond.norbye@gmail.com>
64
+ Tim Holy <holy@wustl.edu>
65
+ Prancesco Pertugio <meh@schizofreni.co>
66
+ Leonard Hecker <leonard.hecker91@gmail.com>
67
+ Andrew Paprocki <andrew@ishiboo.com>
68
+ Luigi Grilli <luigi.grilli@gmail.com>
69
+ Shannen Saez <shannenlaptop@gmail.com>
70
+ Artur Adib <arturadib@gmail.com>
71
+ Hiroaki Nakamura <hnakamur@gmail.com>
72
+ Ting-Yu Lin <ph.minamo@cytisan.com>
73
+ Stephen Gallagher <sgallagh@redhat.com>
74
+ Shane Holloway <shane.holloway@ieee.org>
75
+ Andrew Shaffer <darawk@gmail.com>
76
+ Vlad Tudose <vlad.tudose@intel.com>
77
+ Ben Leslie <benno@benno.id.au>
78
+ Tim Bradshaw <tfb@cley.com>
79
+ Timothy J. Fontaine <tjfontaine@gmail.com>
80
+ Marc Schlaich <marc.schlaich@googlemail.com>
81
+ Brian Mazza <louseman@gmail.com>
@@ -0,0 +1,45 @@
1
+ 2013.02.04, Version 0.10.3 (Stable)
2
+
3
+ Changes since version 0.10.2:
4
+
5
+ * include: remove extraneous const from uv_version() (Ben Noordhuis)
6
+
7
+ * doc: update README, replace `OS` by `PLATFORM` (Ben Noordhuis)
8
+
9
+ * build: simplify .buildstamp rule (Ben Noordhuis)
10
+
11
+ * build: disable -Wstrict-aliasing on darwin (Ben Noordhuis)
12
+
13
+ * darwin: don't select(&exceptfds) in fallback path (Ben Noordhuis)
14
+
15
+ * unix: don't clear flags after closing UDP handle (Saúl Ibarra Corretgé)
16
+
17
+
18
+ 2013.03.25, Version 0.10.2 (Stable)
19
+
20
+ This is the first officially versioned release of libuv. Starting now
21
+ libuv will make releases independently of Node.js.
22
+
23
+ Changes since Node.js v0.10.0:
24
+
25
+ * test: add tap output for windows (Timothy J. Fontaine)
26
+
27
+ * unix: fix uv_tcp_simultaneous_accepts() logic (Ben Noordhuis)
28
+
29
+ * include: bump UV_VERSION_MINOR (Ben Noordhuis)
30
+
31
+ * unix: improve uv_guess_handle() implementation (Ben Noordhuis)
32
+
33
+ * stream: run try_select only for pipes and ttys (Fedor Indutny)
34
+
35
+ Changes since Node.js v0.10.1:
36
+
37
+ * build: rename OS to PLATFORM (Ben Noordhuis)
38
+
39
+ * unix: make uv_timer_init() initialize repeat (Brian Mazza)
40
+
41
+ * unix: make timers handle large timeouts (Ben Noordhuis)
42
+
43
+ * build: add OBJC makefile var (Ben Noordhuis)
44
+
45
+ * Add `uv_version()` and `uv_version_string()` APIs (Bert Belder)
@@ -0,0 +1,41 @@
1
+ libuv is part of the Node project: http://nodejs.org/
2
+ libuv may be distributed alone under Node's license:
3
+
4
+ ====
5
+
6
+ Copyright Joyent, Inc. and other Node contributors. All rights reserved.
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to
9
+ deal in the Software without restriction, including without limitation the
10
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
11
+ sell copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in
15
+ all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
23
+ IN THE SOFTWARE.
24
+
25
+ ====
26
+
27
+ This license applies to all parts of libuv that are not externally
28
+ maintained libraries.
29
+
30
+ The externally maintained libraries used by libuv are:
31
+
32
+ - tree.h (from FreeBSD), copyright Niels Provos. Two clause BSD license.
33
+
34
+ - ngx_queue.h (from Nginx), copyright Igor Sysoev. Two clause BSD license.
35
+
36
+ - inet_pton and inet_ntop implementations, contained in src/inet.c, are
37
+ copyright the Internet Systems Consortium, Inc., and licensed under the ISC
38
+ license.
39
+
40
+ - stdint-msvc2008.h (from msinttypes), copyright Alexander Chemeris. Three
41
+ clause BSD license.
@@ -0,0 +1,53 @@
1
+ # Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to
5
+ # deal in the Software without restriction, including without limitation the
6
+ # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ # sell copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ # IN THE SOFTWARE.
20
+
21
+ SRCDIR ?= $(CURDIR)
22
+
23
+ ifeq (,$(builddir_name))
24
+
25
+ VPATH := $(SRCDIR)
26
+ include $(SRCDIR)/build.mk
27
+
28
+ else # Out of tree build.
29
+
30
+ # Drop all built-in rules.
31
+ .SUFFIXES:
32
+
33
+ .PHONY: $(builddir_name)
34
+ $(builddir_name): $(builddir_name)/.buildstamp
35
+ $(MAKE) -C $@ -f $(CURDIR)/Makefile $(MAKECMDGOALS) \
36
+ SRCDIR=$(CURDIR) builddir_name=
37
+
38
+ $(builddir_name)/.buildstamp:
39
+ mkdir -p $(dir $@)
40
+ touch $@
41
+
42
+ # Add no-op rules for Makefiles to stop make from trying to rebuild them.
43
+ Makefile:: ;
44
+ %.mk:: ;
45
+
46
+ # Turn everything else into a no-op rule that depends on the build directory.
47
+ %:: $(builddir_name) ;
48
+
49
+ .PHONY: clean distclean
50
+ clean distclean:
51
+ $(RM) -fr $(builddir_name)
52
+
53
+ endif
@@ -0,0 +1,118 @@
1
+ # libuv
2
+
3
+ libuv is a new platform layer for Node. Its purpose is to abstract IOCP on
4
+ Windows and epoll/kqueue/event ports/etc. on Unix systems. We intend to
5
+ eventually contain all platform differences in this library.
6
+
7
+ http://nodejs.org/
8
+
9
+ ## Features
10
+
11
+ * Non-blocking TCP sockets
12
+
13
+ * Non-blocking named pipes
14
+
15
+ * UDP
16
+
17
+ * Timers
18
+
19
+ * Child process spawning
20
+
21
+ * Asynchronous DNS via `uv_getaddrinfo`.
22
+
23
+ * Asynchronous file system APIs `uv_fs_*`
24
+
25
+ * High resolution time `uv_hrtime`
26
+
27
+ * Current executable path look up `uv_exepath`
28
+
29
+ * Thread pool scheduling `uv_queue_work`
30
+
31
+ * ANSI escape code controlled TTY `uv_tty_t`
32
+
33
+ * File system events Currently supports inotify, `ReadDirectoryChangesW`
34
+ and kqueue. Event ports in the near future.
35
+ `uv_fs_event_t`
36
+
37
+ * IPC and socket sharing between processes `uv_write2`
38
+
39
+ ## Community
40
+
41
+ * [Mailing list](http://groups.google.com/group/libuv)
42
+
43
+ ## Documentation
44
+
45
+ * [include/uv.h](https://github.com/joyent/libuv/blob/master/include/uv.h)
46
+ &mdash; API documentation in the form of detailed header comments.
47
+ * [An Introduction to libuv](http://nikhilm.github.com/uvbook/) &mdash; An
48
+ overview of libuv with tutorials.
49
+ * [LXJS 2012 talk](http://www.youtube.com/watch?v=nGn60vDSxQ4) - High-level
50
+ introductory talk about libuv.
51
+ * [Tests and benchmarks](https://github.com/joyent/libuv/tree/master/test) -
52
+ API specification and usage examples.
53
+
54
+ ## Build Instructions
55
+
56
+ For GCC (including MinGW) there are two methods building: via normal
57
+ makefiles or via GYP. GYP is a meta-build system which can generate MSVS,
58
+ Makefile, and XCode backends. It is best used for integration into other
59
+ projects. The old system is using plain GNU Makefiles.
60
+
61
+ To build via Makefile simply execute:
62
+
63
+ make
64
+
65
+ MinGW users should run this instead:
66
+
67
+ make PLATFORM=mingw
68
+
69
+ Out-of-tree builds are supported:
70
+
71
+ make builddir_name=/path/to/builddir
72
+
73
+ To build with Visual Studio run the vcbuild.bat file which will
74
+ checkout the GYP code into build/gyp and generate the uv.sln and
75
+ related files.
76
+
77
+ Windows users can also build from cmd-line using msbuild. This is
78
+ done by running vcbuild.bat from Visual Studio command prompt.
79
+
80
+ To have GYP generate build script for another system, make sure that
81
+ you have Python 2.6 or 2.7 installed, then checkout GYP into the
82
+ project tree manually:
83
+
84
+ mkdir -p build
85
+ svn co http://gyp.googlecode.com/svn/trunk build/gyp
86
+
87
+ Or:
88
+
89
+ mkdir -p build
90
+ git clone https://git.chromium.org/external/gyp.git build/gyp
91
+
92
+ Unix users run
93
+
94
+ ./gyp_uv -f make
95
+ make -C out
96
+
97
+ Macintosh users run
98
+
99
+ ./gyp_uv -f xcode
100
+ xcodebuild -project uv.xcodeproj -configuration Release -target All
101
+
102
+ Note for UNIX users: compile your project with `-D_LARGEFILE_SOURCE` and
103
+ `-D_FILE_OFFSET_BITS=64`. GYP builds take care of that automatically.
104
+
105
+ Note for Linux users: compile your project with `-D_GNU_SOURCE` when you
106
+ include `uv.h`. GYP builds take care of that automatically. If you use
107
+ autotools, add a `AC_GNU_SOURCE` declaration to your `configure.ac`.
108
+
109
+ ## Supported Platforms
110
+
111
+ Microsoft Windows operating systems since Windows XP SP2. It can be built
112
+ with either Visual Studio or MinGW.
113
+
114
+ Linux 2.6 using the GCC toolchain.
115
+
116
+ MacOS using the GCC or XCode toolchain.
117
+
118
+ Solaris 121 and later using GCC toolchain.
@@ -0,0 +1,164 @@
1
+ # Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to
5
+ # deal in the Software without restriction, including without limitation the
6
+ # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ # sell copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ # IN THE SOFTWARE.
20
+
21
+ PLATFORM ?= $(shell sh -c 'uname -s | tr "[A-Z]" "[a-z]"')
22
+
23
+ CPPFLAGS += -I$(SRCDIR)/include -I$(SRCDIR)/include/uv-private
24
+
25
+ ifeq (darwin,$(PLATFORM))
26
+ SOEXT = dylib
27
+ else
28
+ SOEXT = so
29
+ endif
30
+
31
+ ifneq (,$(findstring mingw,$(PLATFORM)))
32
+ include $(SRCDIR)/config-mingw.mk
33
+ else
34
+ include $(SRCDIR)/config-unix.mk
35
+ endif
36
+
37
+ BENCHMARKS= \
38
+ test/benchmark-async-pummel.o \
39
+ test/benchmark-async.o \
40
+ test/benchmark-fs-stat.o \
41
+ test/benchmark-getaddrinfo.o \
42
+ test/benchmark-loop-count.o \
43
+ test/benchmark-million-async.o \
44
+ test/benchmark-million-timers.o \
45
+ test/benchmark-multi-accept.o \
46
+ test/benchmark-ping-pongs.o \
47
+ test/benchmark-pound.o \
48
+ test/benchmark-pump.o \
49
+ test/benchmark-sizes.o \
50
+ test/benchmark-spawn.o \
51
+ test/benchmark-tcp-write-batch.o \
52
+ test/benchmark-thread.o \
53
+ test/benchmark-udp-pummel.o \
54
+ test/blackhole-server.o \
55
+ test/dns-server.o \
56
+ test/echo-server.o \
57
+
58
+ TESTS= \
59
+ test/blackhole-server.o \
60
+ test/dns-server.o \
61
+ test/echo-server.o \
62
+ test/test-active.o \
63
+ test/test-async.o \
64
+ test/test-barrier.o \
65
+ test/test-callback-order.o \
66
+ test/test-callback-stack.o \
67
+ test/test-condvar.o \
68
+ test/test-connection-fail.o \
69
+ test/test-cwd-and-chdir.o \
70
+ test/test-delayed-accept.o \
71
+ test/test-dlerror.o \
72
+ test/test-embed.o \
73
+ test/test-error.o \
74
+ test/test-fail-always.o \
75
+ test/test-fs.o \
76
+ test/test-fs-event.o \
77
+ test/test-fs-poll.o \
78
+ test/test-getaddrinfo.o \
79
+ test/test-get-currentexe.o \
80
+ test/test-get-loadavg.o \
81
+ test/test-get-memory.o \
82
+ test/test-getsockname.o \
83
+ test/test-hrtime.o \
84
+ test/test-idle.o \
85
+ test/test-ipc.o \
86
+ test/test-ipc-send-recv.o \
87
+ test/test-loop-handles.o \
88
+ test/test-loop-stop.o \
89
+ test/test-multiple-listen.o \
90
+ test/test-mutexes.o \
91
+ test/test-pass-always.o \
92
+ test/test-ping-pong.o \
93
+ test/test-pipe-bind-error.o \
94
+ test/test-pipe-connect-error.o \
95
+ test/test-platform-output.o \
96
+ test/test-poll.o \
97
+ test/test-poll-close.o \
98
+ test/test-process-title.o \
99
+ test/test-ref.o \
100
+ test/test-run-nowait.o \
101
+ test/test-run-once.o \
102
+ test/test-semaphore.o \
103
+ test/test-shutdown-close.o \
104
+ test/test-shutdown-eof.o \
105
+ test/test-signal.o \
106
+ test/test-signal-multiple-loops.o \
107
+ test/test-spawn.o \
108
+ test/test-stdio-over-pipes.o \
109
+ test/test-tcp-bind6-error.o \
110
+ test/test-tcp-bind-error.o \
111
+ test/test-tcp-close.o \
112
+ test/test-tcp-close-while-connecting.o \
113
+ test/test-tcp-connect6-error.o \
114
+ test/test-tcp-connect-error-after-write.o \
115
+ test/test-tcp-connect-error.o \
116
+ test/test-tcp-connect-timeout.o \
117
+ test/test-tcp-flags.o \
118
+ test/test-tcp-open.o \
119
+ test/test-tcp-read-stop.o \
120
+ test/test-tcp-shutdown-after-write.o \
121
+ test/test-tcp-unexpected-read.o \
122
+ test/test-tcp-writealot.o \
123
+ test/test-tcp-write-to-half-open-connection.o \
124
+ test/test-thread.o \
125
+ test/test-threadpool.o \
126
+ test/test-threadpool-cancel.o \
127
+ test/test-timer-again.o \
128
+ test/test-timer.o \
129
+ test/test-tty.o \
130
+ test/test-udp-dgram-too-big.o \
131
+ test/test-udp-ipv6.o \
132
+ test/test-udp-multicast-join.o \
133
+ test/test-udp-multicast-ttl.o \
134
+ test/test-udp-open.o \
135
+ test/test-udp-options.o \
136
+ test/test-udp-send-and-recv.o \
137
+ test/test-util.o \
138
+ test/test-walk-handles.o \
139
+
140
+ all: libuv.a
141
+
142
+ run-tests$(E): test/run-tests.o test/runner.o $(RUNNER_SRC) $(TESTS) libuv.$(SOEXT)
143
+ $(CC) $(CPPFLAGS) $(RUNNER_CFLAGS) -o $@ $^ $(RUNNER_LIBS) $(RUNNER_LDFLAGS)
144
+
145
+ run-benchmarks$(E): test/run-benchmarks.o test/runner.o $(RUNNER_SRC) $(BENCHMARKS) libuv.$(SOEXT)
146
+ $(CC) $(CPPFLAGS) $(RUNNER_CFLAGS) -o $@ $^ $(RUNNER_LIBS) $(RUNNER_LDFLAGS)
147
+
148
+ test/echo.o: test/echo.c test/echo.h
149
+
150
+
151
+ .PHONY: clean clean-platform distclean test bench
152
+
153
+
154
+ test: run-tests$(E)
155
+ $(CURDIR)/$<
156
+
157
+ bench: run-benchmarks$(E)
158
+ $(CURDIR)/$<
159
+
160
+ clean distclean: clean-platform
161
+ $(RM) libuv.a libuv.$(SOEXT) \
162
+ test/run-tests.o test/run-benchmarks.o \
163
+ test/run-tests$(E) test/run-benchmarks$(E) \
164
+ $(BENCHMARKS) $(TESTS) $(RUNNER_LIBS)