rbuv 0.0.1 → 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 (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)