io_splice 4.3.0 → 4.4.0
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.
- checksums.yaml +7 -0
- data/.document +0 -2
- data/.gitignore +1 -2
- data/{.wrongdoc.yml → .olddoc.yml} +3 -1
- data/GIT-VERSION-GEN +1 -1
- data/GNUmakefile +0 -5
- data/README +39 -7
- data/archive/.gitignore +3 -0
- data/archive/slrnpull.conf +4 -0
- data/ext/io_splice/io_splice_ext.c +10 -10
- data/io_splice.gemspec +6 -9
- data/lib/io/splice.rb +1 -1
- data/pkg.mk +28 -39
- metadata +32 -57
- data/Rakefile +0 -33
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: dcadc5a4c0bc52553768f5d4571f3630668e841a
|
4
|
+
data.tar.gz: 3f3b773ece8adb9a746e315145a3b75fb21e4fed
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 500904b87fe0360f1860968fe9d0997568f7f5918685f763419a2097d229a1aa2cec521809c5382ac8404cdf2804105de179976d0ebc48a622c8c5669d1ea2d4
|
7
|
+
data.tar.gz: 87019a4a269b7bda7873921697bf33d0017bbf4f73c7784670066486fcb426205300253cab147fea77069d8e13d0cbd7319b378f9f05f58d6ac3b7176b5b72e7
|
data/.document
CHANGED
data/.gitignore
CHANGED
@@ -2,4 +2,6 @@
|
|
2
2
|
cgit_url: http://bogomips.org/ruby_io_splice.git
|
3
3
|
git_url: git://bogomips.org/ruby_io_splice.git
|
4
4
|
rdoc_url: http://bogomips.org/ruby_io_splice/
|
5
|
-
|
5
|
+
public_email: ruby-io-splice@bogomips.org
|
6
|
+
private_email: bofh@bogomips.org
|
7
|
+
ml_url: http://bogomips.org/ruby-io-splice/
|
data/GIT-VERSION-GEN
CHANGED
data/GNUmakefile
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
all::
|
2
2
|
RCOV = rcov
|
3
3
|
RSYNC_DEST := bogomips.org:/srv/bogomips/ruby_io_splice
|
4
|
-
rfproject := qrp
|
5
4
|
rfpackage := io_splice
|
6
5
|
include pkg.mk
|
7
|
-
ifneq ($(VERSION),)
|
8
|
-
release::
|
9
|
-
$(RAKE) publish_news VERSION=$(VERSION)
|
10
|
-
endif
|
11
6
|
rcov: build
|
12
7
|
$(RCOV) -I lib:ext/io_splice $(test_unit)
|
13
8
|
.PHONY: rcov
|
data/README
CHANGED
@@ -87,14 +87,46 @@ don't email the git mailing list or maintainer with io_splice patches.
|
|
87
87
|
== Contact
|
88
88
|
|
89
89
|
All feedback (bug reports, user/development discussion, patches, pull
|
90
|
-
requests) go to the mailing list: mailto:ruby
|
90
|
+
requests) go to the mailing list: mailto:ruby-io-splice@bogomips.org
|
91
|
+
|
92
|
+
Send patches (from "git format-patch") with "git send-email" and do not
|
93
|
+
send HTML email or attachments. We are very responsive to email and you
|
94
|
+
will usually get a response within 24-72 hours.
|
91
95
|
|
92
96
|
== Mailing List Archives
|
93
97
|
|
94
|
-
|
95
|
-
|
96
|
-
{
|
97
|
-
|
98
|
+
We operate a {public-inbox}[http://public-inbox.org/] which
|
99
|
+
feeds the mailing list. You may subscribe either using
|
100
|
+
{ssoma}[http://ssoma.public-inbox.org/] or by sending a mail
|
101
|
+
to mailto:ruby-io-splice+subscribe@bogomips.org
|
102
|
+
|
103
|
+
ssoma is a mail archiver/fetcher using git. It operates in a similar
|
104
|
+
fashion to tools such as slrnpull, fetchmail, or getmail. ssoma
|
105
|
+
subscription instructions:
|
106
|
+
|
107
|
+
URL=git://bogomips.org/ruby-io-splice
|
108
|
+
LISTNAME=ruby-io-splice
|
109
|
+
|
110
|
+
# to initialize a maildir (this may be a new or existing maildir,
|
111
|
+
# ssoma will not touch existing messages)
|
112
|
+
# If you prefer mbox, use mbox:/path/to/mbox as the last argument
|
113
|
+
# You may also use imap://$MAILSERVER/INBOX for an IMAP account
|
114
|
+
# or imaps:// for an IMAPS account, as well.
|
115
|
+
ssoma add $LISTNAME $URL maildir:/path/to/maildir
|
116
|
+
|
117
|
+
# read with your favorite MUA (only using mutt as an example)
|
118
|
+
mutt -f /path/to/maildir # (or /path/to/mbox)
|
119
|
+
|
120
|
+
# to keep your mbox or maildir up-to-date, periodically run:
|
121
|
+
ssoma sync $LISTNAME
|
122
|
+
|
123
|
+
# your MUA may modify and delete messages from the maildir or mbox,
|
124
|
+
# this does not affect ssoma functionality at all
|
125
|
+
|
126
|
+
# to sync all your ssoma subscriptions
|
127
|
+
ssoma sync
|
128
|
+
|
129
|
+
# You may wish to sync in your cronjob
|
130
|
+
ssoma sync --cron
|
98
131
|
|
99
|
-
*
|
100
|
-
* http://bogomips.org/ruby_io_splice/archives/
|
132
|
+
* http://bogomips.org/ruby-io-splice/
|
data/archive/.gitignore
ADDED
@@ -125,8 +125,8 @@ static void * WITHOUT_GVL(rb_blocking_function_t *func, void *data1,
|
|
125
125
|
|
126
126
|
struct splice_args {
|
127
127
|
int fd_in;
|
128
|
-
off_t *off_in;
|
129
128
|
int fd_out;
|
129
|
+
off_t *off_in;
|
130
130
|
off_t *off_out;
|
131
131
|
size_t len;
|
132
132
|
unsigned flags;
|
@@ -167,7 +167,7 @@ static ssize_t do_splice(int argc, VALUE *argv, unsigned dflags)
|
|
167
167
|
a.fd_in = check_fileno(io_in);
|
168
168
|
a.fd_out = check_fileno(io_out);
|
169
169
|
bytes = (ssize_t)io_run(nogvl_splice, &a);
|
170
|
-
if (bytes
|
170
|
+
if (bytes < 0) {
|
171
171
|
if (errno == EINTR)
|
172
172
|
continue;
|
173
173
|
if (waitall && errno == EAGAIN) {
|
@@ -238,7 +238,7 @@ static VALUE my_splice(int argc, VALUE *argv, VALUE self)
|
|
238
238
|
|
239
239
|
if (n == 0)
|
240
240
|
rb_eof_error();
|
241
|
-
if (n
|
241
|
+
if (n < 0)
|
242
242
|
rb_sys_fail("splice");
|
243
243
|
return SSIZET2NUM(n);
|
244
244
|
}
|
@@ -264,7 +264,7 @@ static VALUE trysplice(int argc, VALUE *argv, VALUE self)
|
|
264
264
|
|
265
265
|
if (n == 0)
|
266
266
|
return Qnil;
|
267
|
-
if (n
|
267
|
+
if (n < 0) {
|
268
268
|
if (errno == EAGAIN)
|
269
269
|
return sym_EAGAIN;
|
270
270
|
rb_sys_fail("splice");
|
@@ -309,7 +309,7 @@ static ssize_t do_tee(int argc, VALUE *argv, unsigned dflags)
|
|
309
309
|
a.fd_in = check_fileno(io_in);
|
310
310
|
a.fd_out = check_fileno(io_out);
|
311
311
|
bytes = (ssize_t)io_run(nogvl_tee, &a);
|
312
|
-
if (bytes
|
312
|
+
if (bytes < 0) {
|
313
313
|
if (errno == EINTR)
|
314
314
|
continue;
|
315
315
|
if (waitall && errno == EAGAIN) {
|
@@ -366,7 +366,7 @@ static VALUE my_tee(int argc, VALUE *argv, VALUE self)
|
|
366
366
|
|
367
367
|
if (n == 0)
|
368
368
|
rb_eof_error();
|
369
|
-
if (n
|
369
|
+
if (n < 0)
|
370
370
|
rb_sys_fail("tee");
|
371
371
|
|
372
372
|
return SSIZET2NUM(n);
|
@@ -391,7 +391,7 @@ static VALUE trytee(int argc, VALUE *argv, VALUE self)
|
|
391
391
|
|
392
392
|
if (n == 0)
|
393
393
|
return Qnil;
|
394
|
-
if (n
|
394
|
+
if (n < 0) {
|
395
395
|
if (errno == EAGAIN)
|
396
396
|
return sym_EAGAIN;
|
397
397
|
rb_sys_fail("tee");
|
@@ -402,9 +402,9 @@ static VALUE trytee(int argc, VALUE *argv, VALUE self)
|
|
402
402
|
|
403
403
|
struct vmsplice_args {
|
404
404
|
int fd;
|
405
|
+
unsigned flags;
|
405
406
|
struct iovec *iov;
|
406
407
|
unsigned long nr_segs;
|
407
|
-
unsigned flags;
|
408
408
|
};
|
409
409
|
|
410
410
|
static void * nogvl_vmsplice(void *ptr)
|
@@ -476,7 +476,7 @@ static void advance_vmsplice_args(struct vmsplice_args *a, long n)
|
|
476
476
|
* This may allow the kernel to avoid data copies in some cases.
|
477
477
|
* but is (probably) of limited usefulness in Ruby. If you have
|
478
478
|
* use cases or ideas for making this more useful for Ruby users,
|
479
|
-
* please tell us at ruby
|
479
|
+
* please tell us at ruby-io-splice@bogomips.org!
|
480
480
|
*
|
481
481
|
* Also consider the "sendfile" RubyGem or IO.copy_stream in Ruby 1.9
|
482
482
|
* if you want to do zero-copy file transfers to pipes or sockets. As
|
@@ -520,7 +520,7 @@ static VALUE my_vmsplice(int argc, VALUE * argv, VALUE self)
|
|
520
520
|
a.fd = check_fileno(io);
|
521
521
|
n = (ssize_t)io_run(nogvl_vmsplice, &a);
|
522
522
|
|
523
|
-
if (n
|
523
|
+
if (n < 0) {
|
524
524
|
if (errno == EAGAIN) {
|
525
525
|
if (a.flags & SPLICE_F_NONBLOCK)
|
526
526
|
rb_sys_fail("vmsplice");
|
data/io_splice.gemspec
CHANGED
@@ -1,26 +1,23 @@
|
|
1
1
|
# -*- encoding: binary -*-
|
2
2
|
ENV["VERSION"] or abort "VERSION= must be specified"
|
3
3
|
manifest = File.readlines('.manifest').map! { |x| x.chomp! }
|
4
|
-
require '
|
5
|
-
extend
|
4
|
+
require 'olddoc'
|
5
|
+
extend Olddoc::Gemspec
|
6
6
|
name, summary, title = readme_metadata
|
7
7
|
|
8
8
|
Gem::Specification.new do |s|
|
9
9
|
s.name = %q{io_splice}
|
10
10
|
s.version = ENV["VERSION"].dup
|
11
11
|
s.authors = ["Ruby io_splice hackers"]
|
12
|
-
s.date = Time.now.utc.strftime('%Y-%m-%d')
|
13
12
|
s.description = readme_description
|
14
|
-
s.email = %q{ruby
|
13
|
+
s.email = %q{ruby-io-splice@bogomips.org}
|
15
14
|
s.extensions = %w(ext/io_splice/extconf.rb)
|
16
15
|
s.extra_rdoc_files = extra_rdoc_files(manifest)
|
17
16
|
s.files = manifest
|
18
|
-
s.homepage =
|
17
|
+
s.homepage = Olddoc.config['rdoc_url']
|
19
18
|
s.summary = summary
|
20
|
-
s.rdoc_options = rdoc_options
|
21
|
-
s.rubyforge_project = %q{qrp}
|
22
19
|
s.test_files = Dir['test/test_*.rb']
|
23
|
-
s.add_development_dependency('
|
20
|
+
s.add_development_dependency('olddoc', '~> 1.0')
|
24
21
|
|
25
|
-
|
22
|
+
s.licenses = %w(LGPL) # accessor not compatible with older RubyGems
|
26
23
|
end
|
data/lib/io/splice.rb
CHANGED
data/pkg.mk
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
RUBY = ruby
|
2
2
|
RAKE = rake
|
3
3
|
RSYNC = rsync
|
4
|
-
|
4
|
+
OLDDOC = olddoc
|
5
|
+
RDOC = rdoc
|
5
6
|
|
6
7
|
GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
|
7
8
|
@./GIT-VERSION-GEN
|
@@ -44,44 +45,39 @@ $(ext_dl): $(ext_src) $(ext_pfx_src) $(ext_pfx)/$(ext)/Makefile
|
|
44
45
|
$(MAKE) -C $(@D)
|
45
46
|
lib := $(lib):$(ext_pfx)/$(ext)
|
46
47
|
build: $(ext_dl)
|
48
|
+
else
|
49
|
+
build:
|
47
50
|
endif
|
48
51
|
|
49
|
-
pkg_extra
|
50
|
-
|
51
|
-
$(
|
52
|
+
pkg_extra += GIT-VERSION-FILE NEWS LATEST
|
53
|
+
NEWS: GIT-VERSION-FILE .olddoc.yml
|
54
|
+
$(OLDDOC) prepare
|
55
|
+
LATEST: NEWS
|
52
56
|
|
53
57
|
manifest:
|
54
58
|
$(RM) .manifest
|
55
59
|
$(MAKE) .manifest
|
56
60
|
|
57
|
-
.manifest:
|
61
|
+
.manifest: $(pkg_extra)
|
58
62
|
(git ls-files && for i in $@ $(pkg_extra); do echo $$i; done) | \
|
59
63
|
LC_ALL=C sort > $@+
|
60
64
|
cmp $@+ $@ || mv $@+ $@
|
61
65
|
$(RM) $@+
|
62
66
|
|
63
|
-
doc:: .document .
|
64
|
-
find lib -type f -name '*.rbc' -exec rm -f '{}' ';'
|
67
|
+
doc:: .document .olddoc.yml $(pkg_extra) $(PLACEHOLDERS)
|
68
|
+
-find lib -type f -name '*.rbc' -exec rm -f '{}' ';'
|
65
69
|
-find ext -type f -name '*.rbc' -exec rm -f '{}' ';'
|
66
70
|
$(RM) -r doc
|
67
|
-
$(
|
71
|
+
$(RDOC) -f oldweb
|
72
|
+
$(OLDDOC) merge
|
68
73
|
install -m644 COPYING doc/COPYING
|
69
|
-
install -m644
|
74
|
+
install -m644 NEWS doc/NEWS
|
75
|
+
install -m644 NEWS.atom.xml doc/NEWS.atom.xml
|
76
|
+
install -m644 $(shell LC_ALL=C grep '^[A-Z]' .document) doc/
|
70
77
|
|
71
78
|
ifneq ($(VERSION),)
|
72
79
|
pkggem := pkg/$(rfpackage)-$(VERSION).gem
|
73
80
|
pkgtgz := pkg/$(rfpackage)-$(VERSION).tgz
|
74
|
-
release_notes := release_notes-$(VERSION)
|
75
|
-
release_changes := release_changes-$(VERSION)
|
76
|
-
|
77
|
-
release-notes: $(release_notes)
|
78
|
-
release-changes: $(release_changes)
|
79
|
-
$(release_changes):
|
80
|
-
$(WRONGDOC) release_changes > $@+
|
81
|
-
$(VISUAL) $@+ && test -s $@+ && mv $@+ $@
|
82
|
-
$(release_notes):
|
83
|
-
$(WRONGDOC) release_notes > $@+
|
84
|
-
$(VISUAL) $@+ && test -s $@+ && mv $@+ $@
|
85
81
|
|
86
82
|
# ensures we're actually on the tagged $(VERSION), only used for release
|
87
83
|
verify:
|
@@ -117,23 +113,9 @@ $(pkgtgz): manifest fix-perms
|
|
117
113
|
|
118
114
|
package: $(pkgtgz) $(pkggem)
|
119
115
|
|
120
|
-
|
121
|
-
# make tgz release on RubyForge
|
122
|
-
@echo rubyforge add_release -f \
|
123
|
-
-n $(release_notes) -a $(release_changes) \
|
124
|
-
$(rfproject) $(rfpackage) $(VERSION) $(pkgtgz)
|
125
|
-
@echo gem push $(pkggem)
|
126
|
-
@echo rubyforge add_file \
|
127
|
-
$(rfproject) $(rfpackage) $(VERSION) $(pkggem)
|
128
|
-
release:: verify package $(release_notes) $(release_changes)
|
129
|
-
# make tgz release on RubyForge
|
130
|
-
rubyforge add_release -f -n $(release_notes) -a $(release_changes) \
|
131
|
-
$(rfproject) $(rfpackage) $(VERSION) $(pkgtgz)
|
116
|
+
release:: verify package
|
132
117
|
# push gem to RubyGems.org
|
133
118
|
gem push $(pkggem)
|
134
|
-
# in case of gem downloads from RubyForge releases page
|
135
|
-
rubyforge add_file \
|
136
|
-
$(rfproject) $(rfpackage) $(VERSION) $(pkggem)
|
137
119
|
else
|
138
120
|
gem install-gem: GIT-VERSION-FILE
|
139
121
|
$(MAKE) $@ VERSION=$(GIT_VERSION)
|
@@ -144,15 +126,13 @@ test_units := $(wildcard test/test_*.rb)
|
|
144
126
|
test: test-unit
|
145
127
|
test-unit: $(test_units)
|
146
128
|
$(test_units): build
|
147
|
-
$(RUBY) -I $(lib) $@
|
129
|
+
$(RUBY) -I $(lib) $@ $(RUBY_TEST_OPTS)
|
148
130
|
|
149
131
|
# this requires GNU coreutils variants
|
150
132
|
ifneq ($(RSYNC_DEST),)
|
151
133
|
publish_doc:
|
152
134
|
-git set-file-times
|
153
135
|
$(MAKE) doc
|
154
|
-
find doc/images -type f | \
|
155
|
-
TZ=UTC xargs touch -d '1970-01-01 00:00:06' doc/rdoc.css
|
156
136
|
$(MAKE) doc_gz
|
157
137
|
$(RSYNC) -av doc/ $(RSYNC_DEST)/
|
158
138
|
git ls-files | xargs touch
|
@@ -160,9 +140,18 @@ endif
|
|
160
140
|
|
161
141
|
# Create gzip variants of the same timestamp as the original so nginx
|
162
142
|
# "gzip_static on" can serve the gzipped versions directly.
|
163
|
-
doc_gz: docs = $(shell find doc -type f ! -regex '
|
143
|
+
doc_gz: docs = $(shell find doc -type f ! -regex '^.*\.gz$$')
|
164
144
|
doc_gz:
|
165
145
|
for i in $(docs); do \
|
166
146
|
gzip --rsyncable -9 < $$i > $$i.gz; touch -r $$i $$i.gz; done
|
147
|
+
check-warnings:
|
148
|
+
@(for i in $$(git ls-files '*.rb'| grep -v '^setup\.rb$$'); \
|
149
|
+
do $(RUBY) -d -W2 -c $$i; done) | grep -v '^Syntax OK$$' || :
|
150
|
+
|
151
|
+
ifneq ($(PLACEHOLDERS),)
|
152
|
+
$(PLACEHOLDERS):
|
153
|
+
echo olddoc_placeholder > $@
|
154
|
+
endif
|
167
155
|
|
168
156
|
.PHONY: all .FORCE-GIT-VERSION-FILE doc test $(test_units) manifest
|
157
|
+
.PHONY: check-warnings
|
metadata
CHANGED
@@ -1,69 +1,51 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
name:
|
3
|
-
aW9fc3BsaWNl
|
2
|
+
name: io_splice
|
4
3
|
version: !ruby/object:Gem::Version
|
5
|
-
version: 4.
|
6
|
-
prerelease:
|
4
|
+
version: 4.4.0
|
7
5
|
platform: ruby
|
8
6
|
authors:
|
9
|
-
-
|
10
|
-
UnVieSBpb19zcGxpY2UgaGFja2Vycw==
|
7
|
+
- Ruby io_splice hackers
|
11
8
|
autorequire:
|
12
9
|
bindir: bin
|
13
10
|
cert_chain: []
|
14
|
-
date:
|
11
|
+
date: 2015-01-11 00:00:00.000000000 Z
|
15
12
|
dependencies:
|
16
13
|
- !ruby/object:Gem::Dependency
|
17
|
-
name:
|
18
|
-
d3Jvbmdkb2M=
|
14
|
+
name: olddoc
|
19
15
|
requirement: !ruby/object:Gem::Requirement
|
20
|
-
none: false
|
21
16
|
requirements:
|
22
|
-
- -
|
23
|
-
fj4=
|
17
|
+
- - "~>"
|
24
18
|
- !ruby/object:Gem::Version
|
25
|
-
version:
|
26
|
-
MS41
|
19
|
+
version: '1.0'
|
27
20
|
type: :development
|
28
21
|
prerelease: false
|
29
22
|
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
none: false
|
31
23
|
requirements:
|
32
|
-
- -
|
33
|
-
fj4=
|
24
|
+
- - "~>"
|
34
25
|
- !ruby/object:Gem::Version
|
35
|
-
version:
|
36
|
-
|
37
|
-
|
38
|
-
file
|
39
|
-
|
26
|
+
version: '1.0'
|
27
|
+
description: |-
|
28
|
+
The splice family of Linux system calls can transfer data between file
|
40
29
|
descriptors without the need to copy data into userspace. Instead of a
|
41
|
-
|
42
30
|
userspace buffer, they rely on an ordinary Unix pipe as a kernel-level
|
43
|
-
|
44
|
-
|
45
|
-
email: !binary |-
|
46
|
-
cnVieS5pby5zcGxpY2VAbGlicmVsaXN0Lm9yZw==
|
31
|
+
buffer.
|
32
|
+
email: ruby-io-splice@bogomips.org
|
47
33
|
executables: []
|
48
34
|
extensions:
|
49
|
-
-
|
50
|
-
ZXh0L2lvX3NwbGljZS9leHRjb25mLnJi
|
35
|
+
- ext/io_splice/extconf.rb
|
51
36
|
extra_rdoc_files:
|
52
37
|
- README
|
53
38
|
- LICENSE
|
54
39
|
- NEWS
|
55
|
-
- ChangeLog
|
56
40
|
- lib/io/splice.rb
|
57
41
|
- lib/io/splice/mri_18.rb
|
58
42
|
- ext/io_splice/io_splice_ext.c
|
59
|
-
- LATEST
|
60
43
|
files:
|
61
|
-
- .document
|
62
|
-
- .gitignore
|
63
|
-
- .manifest
|
64
|
-
- .
|
44
|
+
- ".document"
|
45
|
+
- ".gitignore"
|
46
|
+
- ".manifest"
|
47
|
+
- ".olddoc.yml"
|
65
48
|
- COPYING
|
66
|
-
- ChangeLog
|
67
49
|
- GIT-VERSION-FILE
|
68
50
|
- GIT-VERSION-GEN
|
69
51
|
- GNUmakefile
|
@@ -71,7 +53,8 @@ files:
|
|
71
53
|
- LICENSE
|
72
54
|
- NEWS
|
73
55
|
- README
|
74
|
-
-
|
56
|
+
- archive/.gitignore
|
57
|
+
- archive/slrnpull.conf
|
75
58
|
- examples/splice-cp.rb
|
76
59
|
- examples/splice-tee.rb
|
77
60
|
- ext/io_splice/extconf.rb
|
@@ -86,38 +69,30 @@ files:
|
|
86
69
|
- test/test_io_splice_eintr.rb
|
87
70
|
- test/test_io_splice_in_full.rb
|
88
71
|
homepage: http://bogomips.org/ruby_io_splice/
|
89
|
-
licenses:
|
72
|
+
licenses:
|
73
|
+
- LGPL
|
74
|
+
metadata: {}
|
90
75
|
post_install_message:
|
91
|
-
rdoc_options:
|
92
|
-
- -t
|
93
|
-
- io_splice - zero-copy pipe I/O for Linux and Ruby
|
94
|
-
- -W
|
95
|
-
- http://bogomips.org/ruby_io_splice.git/tree/%s
|
76
|
+
rdoc_options: []
|
96
77
|
require_paths:
|
97
78
|
- lib
|
98
79
|
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
80
|
requirements:
|
101
|
-
- -
|
81
|
+
- - ">="
|
102
82
|
- !ruby/object:Gem::Version
|
103
83
|
version: '0'
|
104
84
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
85
|
requirements:
|
107
|
-
- -
|
86
|
+
- - ">="
|
108
87
|
- !ruby/object:Gem::Version
|
109
88
|
version: '0'
|
110
89
|
requirements: []
|
111
|
-
rubyforge_project:
|
112
|
-
|
113
|
-
rubygems_version: 1.8.23
|
90
|
+
rubyforge_project:
|
91
|
+
rubygems_version: 2.4.5
|
114
92
|
signing_key:
|
115
|
-
specification_version:
|
93
|
+
specification_version: 4
|
116
94
|
summary: zero-copy pipe I/O for Linux and Ruby
|
117
95
|
test_files:
|
118
|
-
-
|
119
|
-
|
120
|
-
-
|
121
|
-
dGVzdC90ZXN0X2lvX3NwbGljZS5yYg==
|
122
|
-
- !binary |-
|
123
|
-
dGVzdC90ZXN0X2lvX3NwbGljZV9laW50ci5yYg==
|
96
|
+
- test/test_io_splice_in_full.rb
|
97
|
+
- test/test_io_splice.rb
|
98
|
+
- test/test_io_splice_eintr.rb
|
data/Rakefile
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
# -*- encoding: binary -*-
|
2
|
-
require 'wrongdoc'
|
3
|
-
cgit_url = Wrongdoc.config[:cgit_url]
|
4
|
-
git_url = Wrongdoc.config[:git_url]
|
5
|
-
|
6
|
-
desc "post news article to rubyforge"
|
7
|
-
task :publish_news do
|
8
|
-
require 'rubyforge'
|
9
|
-
spec = Gem::Specification.load('io_splice.gemspec')
|
10
|
-
tmp = Tempfile.new('rf-news')
|
11
|
-
_, subject, body = `git cat-file tag v#{spec.version}`.split(/\n\n/, 3)
|
12
|
-
tmp.puts subject
|
13
|
-
tmp.puts
|
14
|
-
tmp.puts spec.description.strip
|
15
|
-
tmp.puts ""
|
16
|
-
tmp.puts "* #{spec.homepage}"
|
17
|
-
tmp.puts "* #{spec.email}"
|
18
|
-
tmp.puts "* #{git_url}"
|
19
|
-
tmp.print "\nChanges:\n\n"
|
20
|
-
tmp.puts body
|
21
|
-
tmp.flush
|
22
|
-
system(ENV["VISUAL"], tmp.path) or abort "#{ENV["VISUAL"]} failed: #$?"
|
23
|
-
msg = File.readlines(tmp.path)
|
24
|
-
subject = msg.shift
|
25
|
-
blank = msg.shift
|
26
|
-
blank == "\n" or abort "no newline after subject!"
|
27
|
-
subject.strip!
|
28
|
-
body = msg.join("").strip!
|
29
|
-
|
30
|
-
rf = RubyForge.new.configure
|
31
|
-
rf.login
|
32
|
-
rf.post_news('qrp', subject, body)
|
33
|
-
end
|