taf2-curb 0.2.7.4 → 0.2.8.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.
- data/ext/curb.h +10 -4
- data/ext/curb_multi.c +6 -2
- data/ext/extconf.rb +23 -1
- data/tests/helper.rb +9 -1
- metadata +2 -2
data/ext/curb.h
CHANGED
@@ -20,12 +20,12 @@
|
|
20
20
|
#include "curb_macros.h"
|
21
21
|
|
22
22
|
// These should be managed from the Rake 'release' task.
|
23
|
-
#define CURB_VERSION "0.2.
|
24
|
-
#define CURB_VER_NUM
|
23
|
+
#define CURB_VERSION "0.2.8.0"
|
24
|
+
#define CURB_VER_NUM 280
|
25
25
|
#define CURB_VER_MAJ 0
|
26
26
|
#define CURB_VER_MIN 2
|
27
|
-
#define CURB_VER_MIC
|
28
|
-
#define CURB_VER_PATCH
|
27
|
+
#define CURB_VER_MIC 8
|
28
|
+
#define CURB_VER_PATCH 0
|
29
29
|
|
30
30
|
|
31
31
|
// Maybe not yet defined in Ruby
|
@@ -33,6 +33,12 @@
|
|
33
33
|
#define RSTRING_LEN(x) RSTRING(x)->len
|
34
34
|
#endif
|
35
35
|
|
36
|
+
#ifdef HAVE_RUBY19_HASH
|
37
|
+
#define RHASH_LEN(hash) RHASH(hash)->ntbl->num_entries
|
38
|
+
#else
|
39
|
+
#define RHASH_LEN(hash) RHASH(hash)->tbl->num_entries
|
40
|
+
#endif
|
41
|
+
|
36
42
|
extern VALUE mCurl;
|
37
43
|
|
38
44
|
extern void Init_curb_core();
|
data/ext/curb_multi.c
CHANGED
@@ -41,9 +41,13 @@ static void curl_multi_flush_easy(VALUE key, VALUE easy, ruby_curl_multi *rbcm)
|
|
41
41
|
|
42
42
|
static void curl_multi_free(ruby_curl_multi *rbcm) {
|
43
43
|
//printf("hash entries: %d\n", RHASH(rbcm->requests)->tbl->num_entries );
|
44
|
-
|
44
|
+
if (RHASH_LEN(rbcm->requests) > 0) {
|
45
|
+
rb_hash_foreach( rbcm->requests, (int (*)())curl_multi_flush_easy, (VALUE)rbcm );
|
45
46
|
|
46
|
-
|
47
|
+
curl_multi_cleanup(rbcm->handle);
|
48
|
+
//rb_hash_clear(rbcm->requests)
|
49
|
+
rbcm->requests = rb_hash_new();
|
50
|
+
}
|
47
51
|
}
|
48
52
|
|
49
53
|
/*
|
data/ext/extconf.rb
CHANGED
@@ -35,7 +35,7 @@ def have_constant(name)
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
38
|
-
|
38
|
+
|
39
39
|
have_constant "curlinfo_redirect_time"
|
40
40
|
have_constant "curlinfo_response_code"
|
41
41
|
have_constant "curlinfo_filetime"
|
@@ -75,5 +75,27 @@ if try_compile('int main() { return 0; }','-Wall')
|
|
75
75
|
$CFLAGS << ' -Wall'
|
76
76
|
end
|
77
77
|
|
78
|
+
# do some checking to detect ruby 1.8 hash.c vs ruby 1.9 hash.c
|
79
|
+
def test_for(name, const, src)
|
80
|
+
checking_for "Ruby 1.9" do
|
81
|
+
if try_compile(src,"#{$CFLAGS} #{$LIBS}")
|
82
|
+
define const
|
83
|
+
true
|
84
|
+
else
|
85
|
+
false
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
test_for("Ruby 1.9", "RUBY19_HASH", %{
|
90
|
+
#include <ruby.h>
|
91
|
+
int main() {
|
92
|
+
VALUE hash = rb_hash_new();
|
93
|
+
if( RHASH(hash)->ntbl->num_entries ) {
|
94
|
+
return 0;
|
95
|
+
}
|
96
|
+
return 1;
|
97
|
+
}
|
98
|
+
})
|
99
|
+
|
78
100
|
create_header('curb_config.h')
|
79
101
|
create_makefile('curb_core')
|
data/tests/helper.rb
CHANGED
@@ -93,8 +93,16 @@ module TestServerMethods
|
|
93
93
|
@server = WEBrick::HTTPServer.new :Port => port, :DocumentRoot => File.expand_path(File.dirname(__FILE__))
|
94
94
|
|
95
95
|
@server.mount(servlet.path, servlet)
|
96
|
+
queue = Queue.new # synchronize the thread startup to the main thread
|
96
97
|
|
97
|
-
@test_thread = Thread.new { @server.start }
|
98
|
+
@test_thread = Thread.new { queue << 1; @server.start }
|
99
|
+
|
100
|
+
# wait for the queue
|
101
|
+
value = queue.pop
|
102
|
+
if !value
|
103
|
+
STDERR.puts "Failed to startup test server!"
|
104
|
+
exit(1)
|
105
|
+
end
|
98
106
|
|
99
107
|
exit_code = lambda do
|
100
108
|
begin
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: taf2-curb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ross Bamford
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-
|
13
|
+
date: 2009-03-13 00:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies: []
|
16
16
|
|