memcached 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/BUG +22 -0
- data/CHANGELOG +2 -0
- data/Manifest +5 -1
- data/ext/extconf.rb +8 -6
- data/ext/{libmemcached.patch → libmemcached-1.patch} +0 -0
- data/ext/libmemcached-8.patch +137 -0
- data/ext/libmemcached-9.patch +13 -0
- data/ext/rlibmemcached.i +0 -1
- data/ext/rlibmemcached_wrap.c +1 -1
- data/lib/memcached/behaviors.rb +4 -5
- data/lib/memcached/memcached.rb +5 -1
- data/lib/rlibmemcached.bundle.dSYM/Contents/Info.plist +20 -0
- data/memcached.gemspec +3 -3
- data/test/profile/exercise.rb +7 -0
- data/test/profile/valgrind.rb +1 -1
- metadata +9 -5
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/BUG
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Program received signal SIGINT, Interrupt.
|
2
|
+
0x00007fff86ec39c6 in read ()
|
3
|
+
(gdb) bt
|
4
|
+
#0 0x00007fff86ec39c6 in read ()
|
5
|
+
#1 0x00000001001b043b in memcached_io_read (ptr=0x208915a00, buffer=0x7fff5fbfbc80, length=1, nread=0x7fff5fbfbb58) at memcached_io.c:108
|
6
|
+
#2 0x00000001001b0d9c in memcached_io_readline (ptr=0x208915a00, buffer_ptr=0x7fff5fbfbc80 "???_?", size=1024) at memcached_io.c:482
|
7
|
+
#3 0x00000001001b2fcc in textual_read_one_response (ptr=0x208915a00, buffer=0x7fff5fbfbc80 "???_?", buffer_length=1024, result=0x7fff5fbfc080) at memcached_response.c:208
|
8
|
+
#4 0x00000001001b2a2b in memcached_read_one_response (ptr=0x208915a00, buffer=0x7fff5fbfbc80 "???_?", buffer_length=1024, result=0x7fff5fbfc080) at memcached_response.c:31
|
9
|
+
#5 0x00000001001b1100 in memcached_purge (ptr=0x208915a00) at memcached_purge.c:56
|
10
|
+
#6 0x00000001001b0aa6 in io_flush (ptr=0x208915a00, error=0x7fff5fbfc2bc) at memcached_io.c:340
|
11
|
+
#7 0x00000001001b07bb in memcached_io_write (ptr=0x208915a00, buffer=0x1001bcee9, length=0, with_flush=1 '\001') at memcached_io.c:241
|
12
|
+
#8 0x00000001001ac8db in memcached_do (ptr=0x208915a00, command=0x1001bcee9, command_length=6, with_flush=1 '\001') at memcached_do.c:26
|
13
|
+
#9 0x00000001001b2516 in memcached_quit_server (ptr=0x208915a00, io_death=0 '\0') at memcached_quit.c:30
|
14
|
+
#10 0x00000001001b2673 in memcached_quit (ptr=0x102b1bb50) at memcached_quit.c:73
|
15
|
+
#11 0x00000001001aa704 in memcached_free (ptr=0x102b1bb50) at memcached.c:43
|
16
|
+
#12 0x0000000100038557 in rb_gc_call_finalizer_at_exit () at gc.c:2738
|
17
|
+
#13 0x000000010001be60 in ruby_finalize_1 () at eval.c:1603
|
18
|
+
#14 0x000000010002a09a in ruby_cleanup (exArg=<value temporarily unavailable, due to optimizations>) at eval.c:1641
|
19
|
+
#15 0x000000010002a1f9 in ruby_stop (ex=<value temporarily unavailable, due to optimizations>) at eval.c:1696
|
20
|
+
#16 0x00000001000319f4 in ruby_run () at eval.c:1717
|
21
|
+
#17 0x0000000100000994 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>, envp=<value temporarily unavailable, due to optimizations>) at main.c:48
|
22
|
+
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
v1.2.2. Work around tcmalloc bug on OS X. Avoid circular reference in memcached_server_by_key().
|
2
|
+
|
1
3
|
v1.2.1. Fix large allocation on error bug.
|
2
4
|
|
3
5
|
v1.2. Clean up duplicated set_prefix_key API. Pipeline deletes and remove dead replication code. Apply prefix_key to binary protocol properly (tarrall). Add Memcached::Rails#exist? (ssoroka).
|
data/Manifest
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
BENCHMARKS
|
2
|
+
BUG
|
2
3
|
CHANGELOG
|
3
4
|
LICENSE
|
4
5
|
Manifest
|
@@ -8,13 +9,15 @@ TODO
|
|
8
9
|
ext/extconf-make.rb
|
9
10
|
ext/extconf.rb
|
10
11
|
ext/libmemcached-0.32.tar.gz
|
12
|
+
ext/libmemcached-1.patch
|
11
13
|
ext/libmemcached-2.patch
|
12
14
|
ext/libmemcached-3.patch
|
13
15
|
ext/libmemcached-4.patch
|
14
16
|
ext/libmemcached-5.patch
|
15
17
|
ext/libmemcached-6.patch
|
16
18
|
ext/libmemcached-7.patch
|
17
|
-
ext/libmemcached.patch
|
19
|
+
ext/libmemcached-8.patch
|
20
|
+
ext/libmemcached-9.patch
|
18
21
|
ext/rlibmemcached.i
|
19
22
|
ext/rlibmemcached_wrap.c
|
20
23
|
ext/sasl.patch
|
@@ -25,6 +28,7 @@ lib/memcached/exceptions.rb
|
|
25
28
|
lib/memcached/experimental.rb
|
26
29
|
lib/memcached/memcached.rb
|
27
30
|
lib/memcached/rails.rb
|
31
|
+
lib/rlibmemcached.bundle.dSYM/Contents/Info.plist
|
28
32
|
test/profile/benchmark.rb
|
29
33
|
test/profile/c_profiler.rb
|
30
34
|
test/profile/exercise.rb
|
data/ext/extconf.rb
CHANGED
@@ -47,13 +47,13 @@ def check_libmemcached
|
|
47
47
|
$DEFLIBPATH = [] unless SOLARIS_32
|
48
48
|
|
49
49
|
Dir.chdir(HERE) do
|
50
|
-
if File.exist?("
|
51
|
-
puts "Libmemcached already
|
50
|
+
if File.exist?("libmemcached-0.32")
|
51
|
+
puts "Libmemcached already unpacked; run 'rake clean' first if you need to start from scratch."
|
52
52
|
else
|
53
53
|
system("rm -rf #{BUNDLE_PATH}") unless ENV['DEBUG'] or ENV['DEV']
|
54
54
|
run("#{TAR_CMD} xzf #{BUNDLE} 2>&1", "Building libmemcached.")
|
55
55
|
|
56
|
-
patch("libmemcached", "mark-dead behavior")
|
56
|
+
patch("libmemcached-1", "mark-dead behavior")
|
57
57
|
patch("sasl", "SASL")
|
58
58
|
patch("libmemcached-2", "get_from_last method")
|
59
59
|
patch("libmemcached-3", "pipelined prepend and append")
|
@@ -61,12 +61,14 @@ def check_libmemcached
|
|
61
61
|
patch("libmemcached-5", "get_len method")
|
62
62
|
patch("libmemcached-6", "failure count bug")
|
63
63
|
patch("libmemcached-7", "pipelined delete and unused replica code")
|
64
|
+
patch("libmemcached-8", "avoid strdup() to work around tcmalloc on OS X bug")
|
65
|
+
patch("libmemcached-9", "don't clone server_st by reference server_by_key()")
|
64
66
|
|
65
67
|
run("touch -r #{BUNDLE_PATH}/m4/visibility.m4 #{BUNDLE_PATH}/configure.ac #{BUNDLE_PATH}/m4/pandora_have_sasl.m4", "Touching aclocal.m4 in libmemcached.")
|
68
|
+
end
|
66
69
|
|
67
|
-
|
68
|
-
|
69
|
-
end
|
70
|
+
Dir.chdir(BUNDLE_PATH) do
|
71
|
+
run("env CFLAGS='-fPIC #{$CFLAGS}' LDFLAGS='-fPIC #{$LDFLAGS}' ./configure --prefix=#{HERE} --without-memcached --disable-shared --disable-utils --disable-dependency-tracking #{$EXTRA_CONF} 2>&1", "Configuring libmemcached.")
|
70
72
|
end
|
71
73
|
|
72
74
|
Dir.chdir(BUNDLE_PATH) do
|
File without changes
|
@@ -0,0 +1,137 @@
|
|
1
|
+
diff -ru a/libmemcached-0.32/libmemcached/memcached_response.c b/libmemcached-0.32/libmemcached/memcached_response.c
|
2
|
+
--- a/libmemcached-0.32/libmemcached/memcached_response.c 2011-03-08 13:07:36.000000000 -0800
|
3
|
+
+++ b/libmemcached-0.32/libmemcached/memcached_response.c 2011-03-08 13:02:11.000000000 -0800
|
4
|
+
@@ -239,32 +239,19 @@
|
5
|
+
}
|
6
|
+
else if (buffer[1] == 'E') /* SERVER_ERROR */
|
7
|
+
{
|
8
|
+
- char *rel_ptr;
|
9
|
+
- char *startptr= buffer + 13, *endptr= startptr;
|
10
|
+
-
|
11
|
+
- while (*endptr != '\r' && *endptr != '\n') endptr++;
|
12
|
+
+ memcached_server_error_reset(ptr);
|
13
|
+
|
14
|
+
- /*
|
15
|
+
- Yes, we could make this "efficent" but to do that we would need
|
16
|
+
- to maintain more state for the size of the buffer. Why waste
|
17
|
+
- memory in the struct, which is important, for something that
|
18
|
+
- rarely should happen?
|
19
|
+
- */
|
20
|
+
- rel_ptr= (char *)ptr->root->call_realloc(ptr->root,
|
21
|
+
- ptr->cached_server_error,
|
22
|
+
- (size_t) (endptr - startptr + 1));
|
23
|
+
-
|
24
|
+
- if (rel_ptr == NULL)
|
25
|
+
- {
|
26
|
+
- /* If we happened to have some memory, we just null it since we don't know the size */
|
27
|
+
- if (ptr->cached_server_error)
|
28
|
+
- ptr->cached_server_error[0]= 0;
|
29
|
+
- return MEMCACHED_SERVER_ERROR;
|
30
|
+
- }
|
31
|
+
- ptr->cached_server_error= rel_ptr;
|
32
|
+
+ char *startptr= buffer + 13, *endptr= startptr;
|
33
|
+
+ while (*endptr != '\r' && *endptr != '\n')
|
34
|
+
+ endptr++;
|
35
|
+
+ size_t err_len = (endptr - startptr + 1);
|
36
|
+
+
|
37
|
+
+ ptr->cached_server_error = malloc(err_len);
|
38
|
+
+ if (ptr->cached_server_error == NULL)
|
39
|
+
+ return MEMCACHED_SERVER_ERROR;
|
40
|
+
|
41
|
+
- memcpy(ptr->cached_server_error, startptr, (size_t) (endptr - startptr));
|
42
|
+
- ptr->cached_server_error[endptr - startptr]= 0;
|
43
|
+
+ strncpy(ptr->cached_server_error, startptr, err_len);
|
44
|
+
+ ptr->cached_server_error[err_len - 1]= 0;
|
45
|
+
return MEMCACHED_SERVER_ERROR;
|
46
|
+
}
|
47
|
+
else if (buffer[1] == 'T')
|
48
|
+
diff -ru a/libmemcached-0.32/libmemcached/memcached_server.c b/libmemcached-0.32/libmemcached/memcached_server.c
|
49
|
+
--- a/libmemcached-0.32/libmemcached/memcached_server.c 2009-07-15 03:34:17.000000000 -0700
|
50
|
+
+++ b/libmemcached-0.32/libmemcached/memcached_server.c 2011-03-08 13:02:11.000000000 -0800
|
51
|
+
@@ -16,14 +16,14 @@
|
52
|
+
}
|
53
|
+
else
|
54
|
+
memset(ptr, 0, sizeof(memcached_server_st));
|
55
|
+
-
|
56
|
+
+
|
57
|
+
ptr->root= memc;
|
58
|
+
|
59
|
+
return ptr;
|
60
|
+
}
|
61
|
+
|
62
|
+
-memcached_server_st *memcached_server_create_with(memcached_st *memc, memcached_server_st *host,
|
63
|
+
- const char *hostname, unsigned int port,
|
64
|
+
+memcached_server_st *memcached_server_create_with(memcached_st *memc, memcached_server_st *host,
|
65
|
+
+ const char *hostname, unsigned int port,
|
66
|
+
uint32_t weight, memcached_connection type)
|
67
|
+
{
|
68
|
+
host= memcached_server_create(memc, host);
|
69
|
+
@@ -52,9 +52,7 @@
|
70
|
+
void memcached_server_free(memcached_server_st *ptr)
|
71
|
+
{
|
72
|
+
memcached_quit_server(ptr, 0);
|
73
|
+
-
|
74
|
+
- if (ptr->cached_server_error)
|
75
|
+
- free(ptr->cached_server_error);
|
76
|
+
+ memcached_server_error_reset(ptr);
|
77
|
+
|
78
|
+
if (ptr->address_info)
|
79
|
+
freeaddrinfo(ptr->address_info);
|
80
|
+
@@ -76,21 +74,24 @@
|
81
|
+
if (ptr == NULL)
|
82
|
+
return NULL;
|
83
|
+
|
84
|
+
- rv = memcached_server_create_with(ptr->root, clone,
|
85
|
+
+ rv = memcached_server_create_with(ptr->root, clone,
|
86
|
+
ptr->hostname, ptr->port, ptr->weight,
|
87
|
+
ptr->type);
|
88
|
+
if (rv != NULL)
|
89
|
+
{
|
90
|
+
rv->cached_errno= ptr->cached_errno;
|
91
|
+
- if (ptr->cached_server_error)
|
92
|
+
- rv->cached_server_error= strdup(ptr->cached_server_error);
|
93
|
+
+ if (ptr->cached_server_error) {
|
94
|
+
+ size_t err_len = strlen(ptr->cached_server_error) + 1;
|
95
|
+
+ rv->cached_server_error = malloc(err_len);
|
96
|
+
+ strncpy(rv->cached_server_error, ptr->cached_server_error, err_len);
|
97
|
+
+ }
|
98
|
+
}
|
99
|
+
|
100
|
+
return rv;
|
101
|
+
|
102
|
+
}
|
103
|
+
|
104
|
+
-memcached_return memcached_server_cursor(memcached_st *ptr,
|
105
|
+
+memcached_return memcached_server_cursor(memcached_st *ptr,
|
106
|
+
memcached_server_function *callback,
|
107
|
+
void *context,
|
108
|
+
unsigned int number_of_callbacks)
|
109
|
+
@@ -119,7 +120,7 @@
|
110
|
+
{
|
111
|
+
uint32_t server_key;
|
112
|
+
|
113
|
+
- *error= memcached_validate_key_length(key_length,
|
114
|
+
+ *error= memcached_validate_key_length(key_length,
|
115
|
+
ptr->flags & MEM_BINARY_PROTOCOL);
|
116
|
+
unlikely (*error != MEMCACHED_SUCCESS)
|
117
|
+
return NULL;
|
118
|
+
@@ -144,13 +145,16 @@
|
119
|
+
|
120
|
+
const char *memcached_server_error(memcached_server_st *ptr)
|
121
|
+
{
|
122
|
+
- if (ptr)
|
123
|
+
+ if (ptr->cached_server_error)
|
124
|
+
return ptr->cached_server_error;
|
125
|
+
- else
|
126
|
+
+ else
|
127
|
+
return NULL;
|
128
|
+
}
|
129
|
+
|
130
|
+
void memcached_server_error_reset(memcached_server_st *ptr)
|
131
|
+
{
|
132
|
+
- ptr->cached_server_error[0]= 0;
|
133
|
+
+ if (ptr->cached_server_error) {
|
134
|
+
+ free(ptr->cached_server_error);
|
135
|
+
+ ptr->cached_server_error = 0;
|
136
|
+
+ }
|
137
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
diff -uwr a/libmemcached-0.32/libmemcached/memcached_server.c b/libmemcached-0.32/libmemcached/memcached_server.c
|
2
|
+
--- a/libmemcached-0.32/libmemcached/memcached_server.c 2011-03-13 11:49:57.000000000 -0700
|
3
|
+
+++ b/libmemcached-0.32/libmemcached/memcached_server.c 2011-03-13 21:35:17.000000000 -0700
|
4
|
+
@@ -139,8 +139,7 @@
|
5
|
+
|
6
|
+
server_key= memcached_generate_hash(ptr, key, key_length);
|
7
|
+
|
8
|
+
- return memcached_server_clone(NULL, &ptr->hosts[server_key]);
|
9
|
+
-
|
10
|
+
+ return &ptr->hosts[server_key];
|
11
|
+
}
|
12
|
+
|
13
|
+
const char *memcached_server_error(memcached_server_st *ptr)
|
data/ext/rlibmemcached.i
CHANGED
data/ext/rlibmemcached_wrap.c
CHANGED
@@ -11987,7 +11987,7 @@ _wrap_memcached_server_by_key(int argc, VALUE *argv, VALUE self) {
|
|
11987
11987
|
arg3 = (size_t) RSTRING_LEN(argv[1]);
|
11988
11988
|
}
|
11989
11989
|
result = (memcached_server_st *)memcached_server_by_key(arg1,(char const *)arg2,arg3,arg4);
|
11990
|
-
vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_memcached_server_st,
|
11990
|
+
vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_memcached_server_st, 0 | 0 );
|
11991
11991
|
if (SWIG_IsTmpObj(res4)) {
|
11992
11992
|
vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_short((*arg4)));
|
11993
11993
|
} else {
|
data/lib/memcached/behaviors.rb
CHANGED
@@ -13,7 +13,7 @@ class Memcached
|
|
13
13
|
BEHAVIORS = load_constants("MEMCACHED_BEHAVIOR_")
|
14
14
|
|
15
15
|
BEHAVIOR_VALUES = {
|
16
|
-
false => 0,
|
16
|
+
false => 0,
|
17
17
|
true => 1
|
18
18
|
}
|
19
19
|
|
@@ -66,13 +66,12 @@ class Memcached
|
|
66
66
|
# Scoped values; still annoying
|
67
67
|
when :hash then HASH_VALUES.invert[value]
|
68
68
|
when :distribution then DISTRIBUTION_VALUES.invert[value]
|
69
|
-
when *DIRECT_VALUE_BEHAVIORS then value
|
70
69
|
else
|
71
|
-
|
70
|
+
value
|
72
71
|
end
|
73
72
|
else
|
74
73
|
value
|
75
74
|
end
|
76
75
|
end
|
77
|
-
|
78
|
-
end
|
76
|
+
|
77
|
+
end
|
data/lib/memcached/memcached.rb
CHANGED
@@ -121,9 +121,13 @@ Please note that when <tt>:no_block => true</tt>, update methods do not raise on
|
|
121
121
|
|
122
122
|
instance_eval { send(:extend, Experimental) } if options[:experimental_features]
|
123
123
|
|
124
|
+
# SASL requires binary protocol
|
124
125
|
options[:binary_protocol] = true if options[:credentials]
|
125
126
|
|
126
|
-
#
|
127
|
+
# UDP requires noreply
|
128
|
+
options[:noreply] = true if options[:use_udp]
|
129
|
+
|
130
|
+
# Buffering requires non-blocking
|
127
131
|
# FIXME This should all be wrapped up in a single :pipeline option.
|
128
132
|
options[:no_block] = true if options[:buffer_requests]
|
129
133
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
6
|
+
<string>English</string>
|
7
|
+
<key>CFBundleIdentifier</key>
|
8
|
+
<string>com.apple.xcode.dsym.rlibmemcached.bundle</string>
|
9
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
10
|
+
<string>6.0</string>
|
11
|
+
<key>CFBundlePackageType</key>
|
12
|
+
<string>dSYM</string>
|
13
|
+
<key>CFBundleSignature</key>
|
14
|
+
<string>????</string>
|
15
|
+
<key>CFBundleShortVersionString</key>
|
16
|
+
<string>1.0</string>
|
17
|
+
<key>CFBundleVersion</key>
|
18
|
+
<string>1</string>
|
19
|
+
</dict>
|
20
|
+
</plist>
|
data/memcached.gemspec
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{memcached}
|
5
|
-
s.version = "1.2.
|
5
|
+
s.version = "1.2.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Evan Weaver"]
|
9
9
|
s.cert_chain = ["/Users/eweaver/p/configuration/gem_certificates/evan_weaver-original-public_cert.pem"]
|
10
|
-
s.date = %q{2011-03-
|
10
|
+
s.date = %q{2011-03-14}
|
11
11
|
s.description = %q{An interface to the libmemcached C client.}
|
12
12
|
s.email = %q{}
|
13
13
|
s.extensions = ["ext/extconf.rb"]
|
14
14
|
s.extra_rdoc_files = ["BENCHMARKS", "CHANGELOG", "LICENSE", "README", "TODO", "lib/memcached.rb", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/experimental.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb"]
|
15
|
-
s.files = ["BENCHMARKS", "CHANGELOG", "LICENSE", "Manifest", "README", "Rakefile", "TODO", "ext/extconf-make.rb", "ext/extconf.rb", "ext/libmemcached-0.32.tar.gz", "ext/libmemcached-2.patch", "ext/libmemcached-3.patch", "ext/libmemcached-4.patch", "ext/libmemcached-5.patch", "ext/libmemcached-6.patch", "ext/libmemcached-7.patch", "ext/libmemcached.patch", "ext/rlibmemcached.i", "ext/rlibmemcached_wrap.c", "ext/sasl.patch", "lib/memcached.rb", "lib/memcached/auth.rb", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/experimental.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb", "test/profile/benchmark.rb", "test/profile/c_profiler.rb", "test/profile/exercise.rb", "test/profile/rb_profiler.rb", "test/profile/valgrind.rb", "test/setup.rb", "test/teardown.rb", "test/test_helper.rb", "test/unit/binding_test.rb", "test/unit/memcached_experimental_test.rb", "test/unit/memcached_test.rb", "test/unit/rails_test.rb", "memcached.gemspec"]
|
15
|
+
s.files = ["BENCHMARKS", "BUG", "CHANGELOG", "LICENSE", "Manifest", "README", "Rakefile", "TODO", "ext/extconf-make.rb", "ext/extconf.rb", "ext/libmemcached-0.32.tar.gz", "ext/libmemcached-1.patch", "ext/libmemcached-2.patch", "ext/libmemcached-3.patch", "ext/libmemcached-4.patch", "ext/libmemcached-5.patch", "ext/libmemcached-6.patch", "ext/libmemcached-7.patch", "ext/libmemcached-8.patch", "ext/libmemcached-9.patch", "ext/rlibmemcached.i", "ext/rlibmemcached_wrap.c", "ext/sasl.patch", "lib/memcached.rb", "lib/memcached/auth.rb", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/experimental.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb", "lib/rlibmemcached.bundle.dSYM/Contents/Info.plist", "test/profile/benchmark.rb", "test/profile/c_profiler.rb", "test/profile/exercise.rb", "test/profile/rb_profiler.rb", "test/profile/valgrind.rb", "test/setup.rb", "test/teardown.rb", "test/test_helper.rb", "test/unit/binding_test.rb", "test/unit/memcached_experimental_test.rb", "test/unit/memcached_test.rb", "test/unit/rails_test.rb", "memcached.gemspec"]
|
16
16
|
s.homepage = %q{http://fauna.github.com/fauna/memcached/}
|
17
17
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Memcached", "--main", "README"]
|
18
18
|
s.require_paths = ["lib", "ext"]
|
data/test/profile/exercise.rb
CHANGED
data/test/profile/valgrind.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
require "#{File.dirname(__FILE__)}/../setup"
|
2
2
|
|
3
|
-
exec("valgrind --tool=memcheck --error-limit=no --undef-value-errors=no --leak-check=full --show-reachable=no --num-callers=15 --track-fds=yes --workaround-gcc296-bugs=yes --leak-resolution=med --max-stackframe=7304328 --dsymutil=yes ruby -r#{File.dirname(__FILE__)}/exercise.rb -e \"Worker.new(ENV['TEST'] || 'everything', 50, 'true').work\"")
|
3
|
+
exec("valgrind --tool=memcheck --error-limit=no --undef-value-errors=no --leak-check=full --show-reachable=no --num-callers=15 --track-fds=yes --workaround-gcc296-bugs=yes --leak-resolution=med --max-stackframe=7304328 --dsymutil=yes ruby -r#{File.dirname(__FILE__)}/exercise.rb -e \"Worker.new(ENV['TEST'] || 'everything', (ENV['LOOPS'] || 50).to_i, 'true').work\"")
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: memcached
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 1.2.
|
9
|
+
- 2
|
10
|
+
version: 1.2.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Evan Weaver
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
36
36
|
yZ0=
|
37
37
|
-----END CERTIFICATE-----
|
38
38
|
|
39
|
-
date: 2011-03-
|
39
|
+
date: 2011-03-14 00:00:00 -07:00
|
40
40
|
default_executable:
|
41
41
|
dependencies: []
|
42
42
|
|
@@ -60,6 +60,7 @@ extra_rdoc_files:
|
|
60
60
|
- lib/memcached/rails.rb
|
61
61
|
files:
|
62
62
|
- BENCHMARKS
|
63
|
+
- BUG
|
63
64
|
- CHANGELOG
|
64
65
|
- LICENSE
|
65
66
|
- Manifest
|
@@ -69,13 +70,15 @@ files:
|
|
69
70
|
- ext/extconf-make.rb
|
70
71
|
- ext/extconf.rb
|
71
72
|
- ext/libmemcached-0.32.tar.gz
|
73
|
+
- ext/libmemcached-1.patch
|
72
74
|
- ext/libmemcached-2.patch
|
73
75
|
- ext/libmemcached-3.patch
|
74
76
|
- ext/libmemcached-4.patch
|
75
77
|
- ext/libmemcached-5.patch
|
76
78
|
- ext/libmemcached-6.patch
|
77
79
|
- ext/libmemcached-7.patch
|
78
|
-
- ext/libmemcached.patch
|
80
|
+
- ext/libmemcached-8.patch
|
81
|
+
- ext/libmemcached-9.patch
|
79
82
|
- ext/rlibmemcached.i
|
80
83
|
- ext/rlibmemcached_wrap.c
|
81
84
|
- ext/sasl.patch
|
@@ -86,6 +89,7 @@ files:
|
|
86
89
|
- lib/memcached/experimental.rb
|
87
90
|
- lib/memcached/memcached.rb
|
88
91
|
- lib/memcached/rails.rb
|
92
|
+
- lib/rlibmemcached.bundle.dSYM/Contents/Info.plist
|
89
93
|
- test/profile/benchmark.rb
|
90
94
|
- test/profile/c_profiler.rb
|
91
95
|
- test/profile/exercise.rb
|
metadata.gz.sig
CHANGED
Binary file
|