memcached 1.1.1 → 1.1.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 CHANGED
Binary file
data/CHANGELOG CHANGED
@@ -1,3 +1,5 @@
1
+ v1.1.2. Fix memory leak in memcached_mget().
2
+
1
3
  v1.1.1. Speed up multiget. Don't cast types on unmarshalled set.
2
4
 
3
5
  v1.1. TTL interface requires Fixnums.
@@ -41,19 +41,8 @@
41
41
  $1[i] = StringValuePtr(RARRAY_PTR($input)[i]);
42
42
  }
43
43
  }
44
- %typemap(in) (char **keys, size_t *key_length, unsigned int number_of_keys) {
45
- int i;
46
- Check_Type($input, T_ARRAY);
47
- $3 = (unsigned int) RARRAY_LEN($input);
48
- $2 = (size_t *) malloc(($3+1)*sizeof(size_t));
49
- $1 = (char **) malloc(($3+1)*sizeof(char *));
50
- for(i = 0; i < $3; i ++) {
51
- Check_Type(RARRAY_PTR($input)[i], T_STRING);
52
- $2[i] = RSTRING_LEN(RARRAY_PTR($input)[i]);
53
- $1[i] = StringValuePtr(RARRAY_PTR($input)[i]);
54
- }
55
- }
56
- %typemap(freearg) (char **keys, size_t *key_length, size_t number_of_keys) {
44
+
45
+ %typemap(freearg) (const char **keys, size_t *key_length, size_t number_of_keys) {
57
46
  free($1);
58
47
  free($2);
59
48
  }
@@ -8849,8 +8849,16 @@ _wrap_memcached_mget(int argc, VALUE *argv, VALUE self) {
8849
8849
  }
8850
8850
  result = (memcached_return)memcached_mget(arg1,(char const **)arg2,arg3,arg4);
8851
8851
  vresult = SWIG_From_int((int)(result));
8852
+ {
8853
+ free(arg2);
8854
+ free(arg3);
8855
+ }
8852
8856
  return vresult;
8853
8857
  fail:
8858
+ {
8859
+ free(arg2);
8860
+ free(arg3);
8861
+ }
8854
8862
  return Qnil;
8855
8863
  }
8856
8864
 
@@ -8896,8 +8904,16 @@ _wrap_memcached_mget_len(int argc, VALUE *argv, VALUE self) {
8896
8904
  arg5 = (uint32_t)(val5);
8897
8905
  result = (memcached_return)memcached_mget_len(arg1,(char const **)arg2,arg3,arg4,arg5);
8898
8906
  vresult = SWIG_From_int((int)(result));
8907
+ {
8908
+ free(arg2);
8909
+ free(arg3);
8910
+ }
8899
8911
  return vresult;
8900
8912
  fail:
8913
+ {
8914
+ free(arg2);
8915
+ free(arg3);
8916
+ }
8901
8917
  return Qnil;
8902
8918
  }
8903
8919
 
@@ -9031,9 +9047,17 @@ _wrap_memcached_mget_by_key(int argc, VALUE *argv, VALUE self) {
9031
9047
  result = (memcached_return)memcached_mget_by_key(arg1,(char const *)arg2,arg3,(char const **)arg4,arg5,arg6,arg7);
9032
9048
  vresult = SWIG_From_int((int)(result));
9033
9049
  if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
9050
+ {
9051
+ free(arg4);
9052
+ free(arg5);
9053
+ }
9034
9054
  return vresult;
9035
9055
  fail:
9036
9056
  if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
9057
+ {
9058
+ free(arg4);
9059
+ free(arg5);
9060
+ }
9037
9061
  return Qnil;
9038
9062
  }
9039
9063
 
@@ -2,12 +2,12 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{memcached}
5
- s.version = "1.1.1"
5
+ s.version = "1.1.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-02-23}
10
+ s.date = %q{2011-02-24}
11
11
  s.description = %q{An interface to the libmemcached C client.}
12
12
  s.email = %q{}
13
13
  s.extensions = ["ext/extconf.rb"]
@@ -17,13 +17,12 @@ Gem::Specification.new do |s|
17
17
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Memcached", "--main", "README"]
18
18
  s.require_paths = ["lib", "ext"]
19
19
  s.rubyforge_project = %q{fauna}
20
- s.rubygems_version = %q{1.3.7}
20
+ s.rubygems_version = %q{1.5.0}
21
21
  s.signing_key = %q{/Users/eweaver/p/configuration/gem_certificates/evan_weaver-original-private_key.pem}
22
22
  s.summary = %q{An interface to the libmemcached C client.}
23
23
  s.test_files = ["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"]
24
24
 
25
25
  if s.respond_to? :specification_version then
26
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
27
26
  s.specification_version = 3
28
27
 
29
28
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
@@ -103,7 +103,7 @@ class Worker
103
103
  end
104
104
  when "multiget"
105
105
  @i.times do
106
- @cache.get([@key1, @key2])
106
+ @cache.get([@key1, @key2, @key3])
107
107
  end
108
108
  when "clone"
109
109
  @i.times do
@@ -1,3 +1,3 @@
1
1
  require "#{File.dirname(__FILE__)}/../setup"
2
2
 
3
- exec("valgrind --tool=memcheck --leak-check=full --show-reachable=no --num-callers=15 --track-fds=yes --workaround-gcc296-bugs=yes --max-stackframe=7304328 --dsymutil=yes --track-origins=yes ruby -r#{File.dirname(__FILE__)}/exercise.rb -e \"Worker.new('mixed', 10000, 'true').work\"")
3
+ exec("valgrind --tool=memcheck --error-limit=no --leak-check=full --show-reachable=no --num-callers=15 --track-fds=yes --workaround-gcc296-bugs=yes --max-stackframe=7304328 --dsymutil=yes --track-origins=yes ruby -r#{File.dirname(__FILE__)}/exercise.rb -e \"Worker.new(ENV['TEST'] || 'mixed', 500, '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: 17
5
- prerelease: false
4
+ hash: 23
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
- - 1
10
- version: 1.1.1
9
+ - 2
10
+ version: 1.1.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-02-23 00:00:00 -08:00
39
+ date: 2011-02-24 00:00:00 -08:00
40
40
  default_executable:
41
41
  dependencies: []
42
42
 
@@ -136,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
136
  requirements: []
137
137
 
138
138
  rubyforge_project: fauna
139
- rubygems_version: 1.3.7
139
+ rubygems_version: 1.5.0
140
140
  signing_key:
141
141
  specification_version: 3
142
142
  summary: An interface to the libmemcached C client.
metadata.gz.sig CHANGED
Binary file