gio2 3.2.0-x86-mingw32 → 3.2.1-x86-mingw32

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0946de47724054fdecb64554ec6b0ac761111fdd
4
- data.tar.gz: 1dc5182b939ac67d3665f2d217252b76e9b243a1
3
+ metadata.gz: f855c7a2a7e641c38fb2cad3eabb9a5e1f36f7f9
4
+ data.tar.gz: 9cc72f450f55329ba058825e2cff641dc01a0418
5
5
  SHA512:
6
- metadata.gz: a983930f9a6e10036de0524ea7ffac7cf8c0f5ccfe64290d1923cddf27250be1ab07b36e14d0a59e4657f903f008fd01148e4f3dcdbf2a5182255b91c4dcd8b7
7
- data.tar.gz: ad69e985b2d040bf0f4c7c3f92c3860a7fba37283e403e52a2e0802634b70a6c6ed776c4638751dd5981bf42819d6276b761e7e25d143fa130bf0872c8352731
6
+ metadata.gz: 0bab8abd63885468bc4e0fc05135cc45e3f7419fe8086be44e4e2b7a4857160d5f4eedaea67cea9bd81884e4caeffaf90da112722eca26b6c8fdb18bd22b213f
7
+ data.tar.gz: fea50db74cd464809105a87f17b802f491483f7bc7b19c647229c91b838e10b65daae5bcc4e4e072dd7a25e063506fc2ce7416f1f7bd50d4973ebead52f516f8
data/lib/2.2/gio2.so CHANGED
Binary file
data/lib/2.3/gio2.so CHANGED
Binary file
data/lib/2.4/gio2.so CHANGED
Binary file
@@ -23,7 +23,7 @@ module Gio
23
23
  buffer_size = 8192
24
24
  buffer = " ".force_encoding("ASCII-8BIT") * buffer_size
25
25
  loop do
26
- read_bytes = read_raw_compatible(buffer)
26
+ _, read_bytes = read_all_raw_compatible(buffer)
27
27
  all << buffer.byteslice(0, read_bytes)
28
28
  break if read_bytes != buffer_size
29
29
  end
@@ -36,6 +36,14 @@ module Gio
36
36
  end
37
37
  end
38
38
 
39
+ alias_method :read_all_raw, :read_all
40
+ def read_all(size)
41
+ buffer = " " * size
42
+ _, read_bytes = read_all_raw_compatible(buffer)
43
+ buffer.replace(buffer.byteslice(0, read_bytes))
44
+ buffer
45
+ end
46
+
39
47
  private
40
48
  def read_raw_compatible(buffer)
41
49
  if (GLib::VERSION <=> [2, 36, 0]) >= 0
@@ -44,5 +52,13 @@ module Gio
44
52
  read_raw(buffer, buffer.bytesize)
45
53
  end
46
54
  end
55
+
56
+ def read_all_raw_compatible(buffer)
57
+ if (GLib::VERSION <=> [2, 36, 0]) >= 0
58
+ read_all_raw(buffer)
59
+ else
60
+ read_all_raw(buffer, buffer.bytesize)
61
+ end
62
+ end
47
63
  end
48
64
  end
data/lib/gio2/loader.rb CHANGED
@@ -187,5 +187,19 @@ module Gio
187
187
  def error_parent_class(info)
188
188
  Error
189
189
  end
190
+
191
+ def should_unlock_gvl?(function_info, klass)
192
+ case klass.name
193
+ when "Gio::InputStream"
194
+ case function_info.name
195
+ when "read", "read_all"
196
+ true
197
+ else
198
+ false
199
+ end
200
+ else
201
+ false
202
+ end
203
+ end
190
204
  end
191
205
  end
@@ -26,11 +26,35 @@ class TestInputStream < Test::Unit::TestCase
26
26
  teardown_socket_client
27
27
  end
28
28
 
29
- def test_read
30
- data = "Hello\n"
29
+ sub_test_case("#read") do
30
+ def test_with_size
31
+ data = "Hello\n"
32
+ client = @server.accept
33
+ client.write(data)
34
+ client.flush
35
+ assert_equal("Hell", @stream.read(4))
36
+ end
37
+
38
+ def test_without_size
39
+ data = "Hello\n"
40
+ client = @server.accept
41
+ client.write(data)
42
+ client.flush
43
+ client.close
44
+ assert_equal(data, @stream.read)
45
+ end
46
+ end
47
+
48
+ def test_read_all
31
49
  client = @server.accept
32
- client.write(data)
50
+ client.write("He")
33
51
  client.flush
34
- assert_equal(data, @stream.read)
52
+ thread = Thread.new do
53
+ sleep(0.1)
54
+ client.write("llo")
55
+ client.flush
56
+ end
57
+ assert_equal("Hell", @stream.read_all(4))
58
+ thread.join
35
59
  end
36
60
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gio2
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.1
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - The Ruby-GNOME2 Project Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-07 00:00:00.000000000 Z
11
+ date: 2017-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glib2
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.2.0
19
+ version: 3.2.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 3.2.0
26
+ version: 3.2.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: gobject-introspection
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 3.2.0
33
+ version: 3.2.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 3.2.0
40
+ version: 3.2.1
41
41
  description: Ruby/GIO2 is a Ruby binding of gio-2.x.
42
42
  email: ruby-gnome2-devel-en@lists.sourceforge.net
43
43
  executables: []