memcached 1.2.1 → 1.2.2
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.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
|