posix-spawn 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/posix/spawn/child.rb +11 -1
- data/lib/posix/spawn/version.rb +1 -1
- data/test/test_child.rb +1 -0
- metadata +2 -18
data/lib/posix/spawn/child.rb
CHANGED
@@ -146,7 +146,6 @@ module POSIX
|
|
146
146
|
# exceeds the amount specified by the max argument.
|
147
147
|
def read_and_write(input, stdin, stdout, stderr, timeout=nil, max=nil)
|
148
148
|
input ||= ''
|
149
|
-
input.force_encoding('BINARY') if input.respond_to?(:force_encoding)
|
150
149
|
max = nil if max && max <= 0
|
151
150
|
out, err = '', ''
|
152
151
|
offset = 0
|
@@ -155,6 +154,12 @@ module POSIX
|
|
155
154
|
@runtime = 0.0
|
156
155
|
start = Time.now
|
157
156
|
|
157
|
+
if input.respond_to?(:force_encoding)
|
158
|
+
orig_encoding = input.encoding
|
159
|
+
input = input.dup.force_encoding('BINARY')
|
160
|
+
[ out, err ].each{ |str| str.force_encoding('BINARY') }
|
161
|
+
end
|
162
|
+
|
158
163
|
writers = [stdin]
|
159
164
|
readers = [stdout, stderr]
|
160
165
|
t = timeout
|
@@ -202,6 +207,11 @@ module POSIX
|
|
202
207
|
end
|
203
208
|
end
|
204
209
|
|
210
|
+
if orig_encoding
|
211
|
+
out.force_encoding(orig_encoding)
|
212
|
+
err.force_encoding(orig_encoding)
|
213
|
+
end
|
214
|
+
|
205
215
|
[out, err]
|
206
216
|
end
|
207
217
|
|
data/lib/posix/spawn/version.rb
CHANGED
data/test/test_child.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: posix-spawn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 17
|
5
4
|
prerelease:
|
6
|
-
|
7
|
-
- 0
|
8
|
-
- 3
|
9
|
-
- 1
|
10
|
-
version: 0.3.1
|
5
|
+
version: 0.3.2
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Ryan Tomayko
|
@@ -27,11 +22,6 @@ dependencies:
|
|
27
22
|
requirements:
|
28
23
|
- - "="
|
29
24
|
- !ruby/object:Gem::Version
|
30
|
-
hash: 15
|
31
|
-
segments:
|
32
|
-
- 0
|
33
|
-
- 7
|
34
|
-
- 6
|
35
25
|
version: 0.7.6
|
36
26
|
type: :development
|
37
27
|
version_requirements: *id001
|
@@ -81,23 +71,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
81
71
|
requirements:
|
82
72
|
- - ">="
|
83
73
|
- !ruby/object:Gem::Version
|
84
|
-
hash: 3
|
85
|
-
segments:
|
86
|
-
- 0
|
87
74
|
version: "0"
|
88
75
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
76
|
none: false
|
90
77
|
requirements:
|
91
78
|
- - ">="
|
92
79
|
- !ruby/object:Gem::Version
|
93
|
-
hash: 3
|
94
|
-
segments:
|
95
|
-
- 0
|
96
80
|
version: "0"
|
97
81
|
requirements: []
|
98
82
|
|
99
83
|
rubyforge_project:
|
100
|
-
rubygems_version: 1.
|
84
|
+
rubygems_version: 1.5.2
|
101
85
|
signing_key:
|
102
86
|
specification_version: 3
|
103
87
|
summary: posix_spawnp(2) for ruby
|