Rolloup of all of the current build.
authorBrian Aker <brian@tangent.org>
Mon, 26 Sep 2011 14:51:09 +0000 (07:51 -0700)
committerBrian Aker <brian@tangent.org>
Mon, 26 Sep 2011 14:51:09 +0000 (07:51 -0700)
149 files changed:
ChangeLog
configure.ac
docs/conf.py.in
docs/include.am
docs/man/hashkit_clone.3
docs/man/hashkit_crc32.3
docs/man/hashkit_create.3
docs/man/hashkit_fnv1_32.3
docs/man/hashkit_fnv1_64.3
docs/man/hashkit_fnv1a_32.3
docs/man/hashkit_fnv1a_64.3
docs/man/hashkit_free.3
docs/man/hashkit_functions.3
docs/man/hashkit_hsieh.3
docs/man/hashkit_is_allocated.3
docs/man/hashkit_jenkins.3
docs/man/hashkit_md5.3
docs/man/hashkit_murmur.3
docs/man/hashkit_value.3
docs/man/libhashkit.3
docs/man/libmemcached.3
docs/man/libmemcached_check_configuration.3
docs/man/libmemcached_configuration.3
docs/man/libmemcached_examples.3
docs/man/libmemcachedutil.3
docs/man/memaslap.1
docs/man/memcached.3
docs/man/memcached_add.3
docs/man/memcached_add_by_key.3
docs/man/memcached_analyze.3
docs/man/memcached_append.3
docs/man/memcached_append_by_key.3
docs/man/memcached_auto.3
docs/man/memcached_behavior.3
docs/man/memcached_behavior_get.3
docs/man/memcached_behavior_set.3
docs/man/memcached_callback.3
docs/man/memcached_callback_get.3
docs/man/memcached_callback_set.3
docs/man/memcached_cas.3
docs/man/memcached_cas_by_key.3
docs/man/memcached_clone.3
docs/man/memcached_create.3
docs/man/memcached_decrement.3
docs/man/memcached_decrement_with_initial.3
docs/man/memcached_delete.3
docs/man/memcached_delete_by_key.3
docs/man/memcached_destroy_sasl_auth_data.3
docs/man/memcached_dump.3
docs/man/memcached_exist.3
docs/man/memcached_exist_by_key.3
docs/man/memcached_fetch.3
docs/man/memcached_fetch_execute.3
docs/man/memcached_fetch_result.3
docs/man/memcached_flush.3
docs/man/memcached_flush_buffers.3
docs/man/memcached_free.3
docs/man/memcached_generate_hash.3
docs/man/memcached_generate_hash_value.3
docs/man/memcached_get.3
docs/man/memcached_get_by_key.3
docs/man/memcached_get_memory_allocators.3
docs/man/memcached_get_sasl_callbacks.3
docs/man/memcached_get_user_data.3
docs/man/memcached_increment.3
docs/man/memcached_increment_with_initial.3
docs/man/memcached_last_error_message.3
docs/man/memcached_lib_version.3
docs/man/memcached_memory_allocators.3
docs/man/memcached_mget.3
docs/man/memcached_mget_by_key.3
docs/man/memcached_mget_execute.3
docs/man/memcached_mget_execute_by_key.3
docs/man/memcached_pool.3
docs/man/memcached_pool_behavior_get.3
docs/man/memcached_pool_behavior_set.3
docs/man/memcached_pool_create.3
docs/man/memcached_pool_destroy.3
docs/man/memcached_pool_fetch.3 [new file with mode: 0644]
docs/man/memcached_pool_pop.3
docs/man/memcached_pool_push.3
docs/man/memcached_pool_release.3 [new file with mode: 0644]
docs/man/memcached_pool_st.3
docs/man/memcached_prepend.3
docs/man/memcached_prepend_by_key.3
docs/man/memcached_quit.3
docs/man/memcached_replace.3
docs/man/memcached_replace_by_key.3
docs/man/memcached_result_cas.3
docs/man/memcached_result_create.3
docs/man/memcached_result_flags.3
docs/man/memcached_result_free.3
docs/man/memcached_result_key_length.3
docs/man/memcached_result_key_value.3
docs/man/memcached_result_length.3
docs/man/memcached_result_st.3
docs/man/memcached_result_value.3
docs/man/memcached_return_t.3
docs/man/memcached_sasl.3
docs/man/memcached_sasl_set_auth_data.3
docs/man/memcached_server_add.3
docs/man/memcached_server_add_unix_socket.3
docs/man/memcached_server_count.3
docs/man/memcached_server_cursor.3
docs/man/memcached_server_list.3
docs/man/memcached_server_list_append.3
docs/man/memcached_server_list_count.3
docs/man/memcached_server_list_free.3
docs/man/memcached_server_push.3
docs/man/memcached_server_st.3
docs/man/memcached_servers.3
docs/man/memcached_servers_parse.3
docs/man/memcached_servers_reset.3
docs/man/memcached_set.3
docs/man/memcached_set_by_key.3
docs/man/memcached_set_memory_allocators.3
docs/man/memcached_set_memory_allocators_context.3
docs/man/memcached_set_sasl_callbacks.3
docs/man/memcached_set_user_data.3
docs/man/memcached_stat.3
docs/man/memcached_stat_execute.3
docs/man/memcached_stat_get_keys.3
docs/man/memcached_stat_get_value.3
docs/man/memcached_stat_servername.3
docs/man/memcached_stats.3
docs/man/memcached_strerror.3
docs/man/memcached_user_data.3
docs/man/memcached_verbosity.3
docs/man/memcached_version.3
docs/man/memcapable.1
docs/man/memcat.1
docs/man/memcp.1
docs/man/memdump.1
docs/man/memerror.1
docs/man/memflush.1
docs/man/memrm.1
docs/man/memslap.1
docs/man/memstat.1
docs/memcached_pool.rst
libmemcached/connect.cc
libmemcached/error.cc
libmemcached/util/pool.cc
libmemcached/util/pool.h
libtest/include.am
m4/pandora_canonical.m4
m4/pandora_platform.m4
support/libmemcached.spec.in
tests/include.am
tests/mem_functions.cc

index 62ec941f8b46de8a4ebe60bf53102fd25a824587..a1f141d1b72c8d64b85043f48b479f55f8604561 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+0.53
+  * Fix for FreeBSD/OpenBSD and -lm
+  * Added memcached_exist()
+  * Fix for memory when using config test.
+  * CLI gained --quiet
+
 0.52 Sun Sep 11 22:16:08 PDT 2011
   * Build fixes for Ubuntu/Suse.
   * Fixes for OSX Lion.
index fc349ae02d33c5b0d0ef20ce416fcc8dc7c31014..b00ea9e5614cbf34132d14af2f4664f38ed37eda 100644 (file)
@@ -7,7 +7,7 @@
 # Use and distribution licensed under the BSD license.  See
 # the COPYING file in this directory for full text.
 
-AC_INIT([libmemcached],[0.52],[http://libmemcached.org/])
+AC_INIT([libmemcached],[0.53],[http://libmemcached.org/])
 
 AC_CONFIG_AUX_DIR(config)
 
index c485d77cee03b2debd7cae5a3fc69fd22eceb070..5952dc2ea7e36b0e6253c4d44648f1b2e6514d98 100644 (file)
@@ -290,9 +290,10 @@ man_pages = [
   ('memcached_pool', 'memcached_pool_behavior_set', u'libmemcached Documentation', [u'Brian Aker'], 3),
   ('memcached_pool', 'memcached_pool_create', u'libmemcached Documentation', [u'Brian Aker'], 3),
   ('memcached_pool', 'memcached_pool_destroy', u'libmemcached Documentation', [u'Brian Aker'], 3),
+  ('memcached_pool', 'memcached_pool_fetch', u'libmemcached Documentation', [u'Brian Aker'], 3),
   ('memcached_pool', 'memcached_pool_pop', u'libmemcached Documentation', [u'Brian Aker'], 3),
   ('memcached_pool', 'memcached_pool_push', u'libmemcached Documentation', [u'Brian Aker'], 3),
-  ('memcached_pool', 'memcached_pool_push', u'libmemcached Documentation', [u'Brian Aker'], 3),
+  ('memcached_pool', 'memcached_pool_release', u'libmemcached Documentation', [u'Brian Aker'], 3),
   ('memcached_pool', 'memcached_pool_st', u'libmemcached Documentation', [u'Brian Aker'], 3),
   ('memcached_quit', 'memcached_quit', u'libmemcached Documentation', [u'Brian Aker'], 3),
   ('memcached_result_st', 'memcached_result_cas', u'Working with result sets', [u'Brian Aker'], 3),
index 1a1feac04bd318ecb9b36bed1850b89ec63f9fd1..51b9ed73d72f267bf34648209e45a127060f334f 100644 (file)
@@ -80,12 +80,15 @@ man_MANS+= \
           docs/man/memcached_mget_by_key.3 \
           docs/man/memcached_mget_execute.3  \
           docs/man/memcached_mget_execute_by_key.3  \
+          docs/man/memcached_pool.3 \
           docs/man/memcached_pool_behavior_get.3 \
           docs/man/memcached_pool_behavior_set.3 \
           docs/man/memcached_pool_create.3 \
           docs/man/memcached_pool_destroy.3 \
+          docs/man/memcached_pool_fetch.3 \
           docs/man/memcached_pool_pop.3 \
           docs/man/memcached_pool_push.3 \
+          docs/man/memcached_pool_release.3 \
           docs/man/memcached_pool_st.3 \
           docs/man/memcached_prepend.3 \
           docs/man/memcached_prepend_by_key.3 \
index 8dff72889d4e5e79a0a5a1a9968edd4a7dfb58fc..80611d27473d892281dc78e7ba9711ddb675c826 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_CLONE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_CLONE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_clone \- libhashkit Documentation
 .
index a2e38fdde7bed1a39ae3ee537e2c90aee4ece93d..e1978ac416efab48823c3d63602283fb9d4d7ef3 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_CRC32" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_CRC32" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_crc32 \- libhashkit Documentation
 .
index bcba620af37108b91a2bf57d82c8e47b0bec738f..f9c880de6222375407fee16cce07391d94eb6182 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_CREATE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_CREATE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_create \- libhashkit Documentation
 .
index 355ade8dde4ac2b01a9515c614a163397fbfae9d..58f420b8404b9b7113ae86e5a682102fe7afe9fa 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FNV1_32" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FNV1_32" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_fnv1_32 \- libhashkit Documentation
 .
index d5921a6821e47841643b40bf7e0f5ffc8699b428..b4fddd6fd864a3dceadc1b8363c4fcfb771889c6 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FNV1_64" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FNV1_64" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_fnv1_64 \- libhashkit Documentation
 .
index c0ee456597e2e08b41f530a4b45898d47c2dd64e..6b4df6f58d922ef6bafde7768b3a358d790aa139 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FNV1A_32" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FNV1A_32" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_fnv1a_32 \- libhashkit Documentation
 .
index 8f0f98886e2db8ae5c9ffadf359058cc3adc0d97..c159938acafdfc7acef53f8e555531f3ee239e92 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FNV1A_64" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FNV1A_64" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_fnv1a_64 \- libhashkit Documentation
 .
index 5b4a2886b9034b0316fc9a1f8f7391b7ab7f77a7..fcc34aa92b01b318c0e7b6409bde8d41e5ee8f38 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FREE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FREE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_free \- libhashkit Documentation
 .
index cb3652ecf00c8db3cb5f5e8ec373b14e1b65f916..b2d6fa4af13e505fb6bfe54fbdafdd9f14691ccd 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_FUNCTIONS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_FUNCTIONS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_functions \- libhashkit Documentation
 .
index ada929cff622a9d05853495ef0cc11daf1c1b878..c7a7baef0a30c2bd11ecfb43aafb66416e93ac8a 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_HSIEH" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_HSIEH" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_hsieh \- libhashkit Documentation
 .
index fb2f3363d854f86679e81f2d022882911e6cb88b..68904a05923fece2a1cbdfa98f8a80b64f15f3b5 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_IS_ALLOCATED" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_IS_ALLOCATED" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_is_allocated \- libhashkit Documentation
 .
index a92f23605650eba15061df63e4d65ce5d3efcff3..774238a3b5b7c4b3984434fb4326147d5b1f96b4 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_JENKINS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_JENKINS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_jenkins \- libhashkit Documentation
 .
index 6241e1844f8207a3b77f8c8f47c87d0257a76a0c..3ebeea6125e81a127a5dadf18ef2fa60fdf4ab9f 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_MD5" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_MD5" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_md5 \- libhashkit Documentation
 .
index f199e7fcbc4ead40917b4ffcae10a18441bbf382..bd9be2201a9a13b5479ef3c26cfdec72b0a8c5f9 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_MURMUR" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_MURMUR" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_murmur \- libhashkit Documentation
 .
index 34e7cc0e2bc63b140d65ee0829ca0a90c719abda..3be45fbaec3b300d743e689f1f6d52247c5adf20 100644 (file)
@@ -1,4 +1,4 @@
-.TH "HASHKIT_VALUE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "HASHKIT_VALUE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 hashkit_value \- libhashkit Documentation
 .
index d67940f456373d9632aff667298af2c24dc2b6e3..d391b75735ad4afecba65dfe4d8bf2d07e6c3617 100644 (file)
@@ -1,4 +1,4 @@
-.TH "LIBHASHKIT" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "LIBHASHKIT" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 libhashkit \- libhashkit Documentation
 .
index 0c7b7ffeb5f5146a3edfb92f45fc26c9bc7f4ce8..a0788e2ab749246b03cd12a0d67143e183afa4e3 100644 (file)
@@ -1,4 +1,4 @@
-.TH "LIBMEMCACHED" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "LIBMEMCACHED" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 libmemcached \- Introducing the C Client Library for memcached
 .
index a6d08d325256dc11682f3b3a5e1f4766704ee3e4..b43b854029f0c4b923dfcc106b6cbc3e500a1349 100644 (file)
@@ -1,4 +1,4 @@
-.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 libmemcached_check_configuration \- libmemcached Documentation
 .
index ab30b7f4d94cce39ff139bd5b0fd894b42b8fd26..8a9797da4f5fbbd760e41d7598a2b15094b1c769 100644 (file)
@@ -1,4 +1,4 @@
-.TH "LIBMEMCACHED_CONFIGURATION" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "LIBMEMCACHED_CONFIGURATION" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 libmemcached_configuration \- libmemcached Documentation
 .
index f0498eb51828bd26a8c6e647b093d60499bfb159..387dbf4f10ca00044f2a2a3dbb08ef6c316fd623 100644 (file)
@@ -1,4 +1,4 @@
-.TH "LIBMEMCACHED_EXAMPLES" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "LIBMEMCACHED_EXAMPLES" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 libmemcached_examples \- libmemcached Documentation
 .
index 2f4e580cac5ee42922a8452408f8d26ccaec3eff..f5ea831f5717061174651ae0adf71e3ade1da8f8 100644 (file)
@@ -1,4 +1,4 @@
-.TH "LIBMEMCACHEDUTIL" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "LIBMEMCACHEDUTIL" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 libmemcachedutil \- libmemcached Documentation
 .
index 38baa6b4f059cfa7b47e73be411f197dfffe48af..1ec50730b06189192761a1505c5caf7fa2560562 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMASLAP" "1" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMASLAP" "1" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memaslap \- libmemcached Documentation
 .
index d63f62fb39005db887f4278b170000532f82f5d0..285bc35e1f930ea23ef84c3d5e0b2144b4ff1abf 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached \- libmemcached Documentation
 .
index 0ff29e2a29ce654e1b044f724f9bc258e25fb960..9d92abfeb0d21053e4ddb07946dc029ec13e3996 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_ADD" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_ADD" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_add \- Storing and Replacing Data
 .
index 8268d16883b2b8c5b5dfb0bc86c88451ef0dc42a..bb739c87c19b4d333b1ad97c7c66a55fbb0e0acd 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_ADD_BY_KEY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_ADD_BY_KEY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_add_by_key \- Storing and Replacing Data
 .
index bbebffbd0966d64a4c3ac0c54e792b78f7d23221..3b9c878d4da36eefd7e7d1b081d1a0d6efb83045 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_ANALYZE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_ANALYZE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_analyze \- libmemcached Documentation
 .
index c19b5f6ae6665fad58b672ff09aa5b3d1ff84d56..5de1282fc409d21cab91dcde5ddf48cc708ad2ca 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_APPEND" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_APPEND" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_append \- Appending to or Prepending to data on the server
 .
index 6e096e461369f7f74fcdd7bea9c958479b9e3ae8..c2a695e3dda067919bcff42ecde71073066f1b47 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_APPEND_BY_KEY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_APPEND_BY_KEY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_append_by_key \- Appending to or Prepending to data on the server
 .
index bb07567d7bf850ddcecc3494e96f344f3b3d4bcf..edaf3a18ae8a4525f4bc322e56a071bf9eb3dd9d 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_AUTO" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_AUTO" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_auto \- Incrementing and Decrementing Values
 .
index e31a1f925f8bf616de606c4d46f525225b83651e..5c7434b2abdd439aa00a55827b971416541bd93e 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_BEHAVIOR" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_BEHAVIOR" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_behavior \- libmemcached Documentation
 .
index 0f08aaecc96240ff1990301ff2a08f3a622623bc..77462a16c3ea1a3f16d5fc677032e01e206577ce 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_BEHAVIOR_GET" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_BEHAVIOR_GET" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_behavior_get \- libmemcached Documentation
 .
index 6432e662ded5d873229264759b117451964f27e5..cfbfed692aee23f223df79b1421e4180e00c9f20 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_BEHAVIOR_SET" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_BEHAVIOR_SET" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_behavior_set \- libmemcached Documentation
 .
index 8ee45bee293301616a87f4aabf81e2270772d405..7efee244095873a1340232431ae4fcfc82ca21ef 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CALLBACK" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CALLBACK" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_callback \- libmemcached Documentation
 .
index 214d9da3cbf2c502a9895f613bb51e0d62d86ad2..f71731d448ea864ccf564641508b66adedf6acda 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CALLBACK_GET" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CALLBACK_GET" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_callback_get \- libmemcached Documentation
 .
index ad62729af830aaaafaafb9a73a0f973f3d14e9e6..673a055d406e9ef5cd9aaeec24b8cb2387f83fa5 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CALLBACK_SET" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CALLBACK_SET" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_callback_set \- libmemcached Documentation
 .
index 385a3c651b2dc9660893acac80a352edfccf6b24..12ebd356c5c0289ce650a1790c0502576d192289 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CAS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CAS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_cas \- Working with data on the server in an atomic fashion
 .
index 70b4f499371ee2a7ec7a47ffd0a00d88323b58ed..f3d6f84f741961213a37136a6a34c3ce9a179f1c 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CAS_BY_KEY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CAS_BY_KEY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_cas_by_key \- Storing and Replacing Data
 .
index 0958b3cbc3c6f484352d4f3214a49a4b16474715..44e0a379ecdcd99ad34992fa52928687cc337401 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CLONE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CLONE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_clone \- libmemcached Documentation
 .
index 5b6454755756df4ccf438a0665d68650b74ddc69..29963992c0d86b4caaff36ae7f0d3914e1af9b66 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_CREATE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_CREATE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_create \- libmemcached Documentation
 .
index 2052a73d3401dee748bde1719e5a73ef1af61b66..523f5ec16147a463a4a3359fd4259d4080d334a0 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DECREMENT" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DECREMENT" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_decrement \- Incrementing and Decrementing Values
 .
index da567970046a092fa7d85a87e4db6274fc1d3625..80cf7ff57226dc5a5ad2822d78d156d54f08c68f 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_decrement_with_initial \- Incrementing and Decrementing Values
 .
index 18745672a8389cf4ea5b7993a7dabff9b688efcf..55dac7daec80bb95c1b4025949dcedddc0830c0e 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DELETE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DELETE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_delete \- libmemcached Documentation
 .
index 14a3cde35f37643dca0109ae336a400693ff5be3..7888628ca40038c84d20c53edf52159f1dce7912 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DELETE_BY_KEY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DELETE_BY_KEY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_delete_by_key \- libmemcached Documentation
 .
index 15572f1fa34c72fc27b5a8527344d7f95199802b..dd3e52d2bd1bbc0283053eb67d403984f6147393 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_destroy_sasl_auth_data \- libmemcached Documentation
 .
index 348fd8351f88e1211adc37fe38ef18bbb86d827d..d82763abdb49bca6f0165bd5a1aef98f40bffd25 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_DUMP" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_DUMP" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_dump \- libmemcached Documentation
 .
index f9fa1c54de3d2954514387ecd550939ad083405a..18e39abfe978884e2645964d56f29b038b63aeb5 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_EXIST" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_EXIST" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_exist \- libmemcached Documentation
 .
index 3a98ebf7f6b85f9d6d1425751df51a6557f4e796..6259b3ecf051c4660b15e97e1da94fd5124e0269 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_EXIST_BY_KEY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_EXIST_BY_KEY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_exist_by_key \- libmemcached Documentation
 .
index 1413bd2b0dcca8c65ad10c1b093ac69cfb02f5c1..bd350cac55606db1701c590bbba4dda76c22ef96 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_FETCH" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_FETCH" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_fetch \- Retrieving data from the server
 .
index 47522945c8e251948cf9b213742e28d5fc2e208b..1d0f4e2e4d7e46117cccb62f50a8c81c3e088ba9 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_FETCH_EXECUTE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_FETCH_EXECUTE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_fetch_execute \- Retrieving data from the server
 .
index 81d06d6ad2be407d2ccd234ad1fac1f53660b2af..71e6cc239338888b540723fb57beb50fdad99822 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_FETCH_RESULT" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_FETCH_RESULT" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_fetch_result \- Retrieving data from the server
 .
index a3a4d9bd2c2aaf68b347a67cf14343b1c21ffe40..038e6b9032decca015910038056281af509e2047 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_FLUSH" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_FLUSH" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_flush \- libmemcached Documentation
 .
index d88e00657885cdb5edb95e457a3c7749b818870a..3fd0f5b6f4e8fe4604b6dc2812df1f9f2ccd07cc 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_FLUSH_BUFFERS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_FLUSH_BUFFERS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_flush_buffers \- libmemcached Documentation
 .
index 31eb2e6e1d313fe3614ee08eda1206d6bc299256..52fd53a3e6e6437e83610d99b6e04c1dbbe13c4d 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_FREE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_FREE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_free \- libmemcached Documentation
 .
index 9f711a376a9070ecdb6174ebcaf545b6ff50225d..b2623e7c88241911d4df21f66fdf74c4d3b3b87c 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GENERATE_HASH" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GENERATE_HASH" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_generate_hash \- Generating hash values directly
 .
index cd47c057f08c8ad79f50db17d936100ca1c42da6..635a0e286728d79b57255007b69b28fc7f5b59d7 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_generate_hash_value \- Generating hash values directly
 .
index 3758f623988a43618bad1fcd4e901aa62c24a331..9c26c31862ac9406a11bc366c69725bdb81aa213 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GET" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GET" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_get \- Retrieving data from the server
 .
index bc38cb4fa5450f5b6eb7294fe44e85b23445d415..d6f8f47191287486ba81088c5af0ce671a4cd59e 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GET_BY_KEY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GET_BY_KEY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_get_by_key \- Retrieving data from the server
 .
index 91857654897cece8dc119e802b3ee93379c13aef..5cb5d2d1f34fd9c591ded23b6c7732f6e53cdd27 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_get_memory_allocators \- libmemcached Documentation
 .
index 7776c03e91a1c801f30ab7d11ecc561e2ba43895..8719c76daf2cf50fd3b3d1440a03dea5b14aadaa 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_get_sasl_callbacks \- libmemcached Documentation
 .
index 01f3f85d14c52fe21f63130baf1fa7f40544d68e..b1d561dc84219b5871ff1641cecdafd167df9f4d 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_GET_USER_DATA" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_GET_USER_DATA" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_get_user_data \- libmemcached Documentation
 .
index 9aed203e7bf23ec34f188e1ef16d3927be3b7939..078b1e0790fad9f9c9c9f94a39deb4c865b4a450 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_INCREMENT" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_INCREMENT" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_increment \- Incrementing and Decrementing Values
 .
index 182bc457bf2107a7286b776cc7a2b8a5282ad516..89759fb696b9b04765dec6754a72ece117023a9e 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_increment_with_initial \- Incrementing and Decrementing Values
 .
index fde0c9304c58117d80a6b6bdb6c3832f6dac1383..9e845d75759a5a070926090ad774461375e0af18 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_LAST_ERROR_MESSAGE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_LAST_ERROR_MESSAGE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_last_error_message \- libmemcached Documentation
 .
index de1a228c75b59748841109bcfe10c406be844f81..66134884f9e1d4686bcbf02fe1e45c0f61a6d66e 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_LIB_VERSION" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_LIB_VERSION" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_lib_version \- libmemcached Documentation
 .
index 094e1ff31d8a6291c2d53cfda761c65cd3aed320..56b3afbcb66786656d961381ad3a71dffc227a1a 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_MEMORY_ALLOCATORS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_MEMORY_ALLOCATORS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_memory_allocators \- libmemcached Documentation
 .
index 10550ad308ab23dc16947cf406e3992f0d2e060f..d4ad721f47d1612cb362d1b628bcd5220fe78db5 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_MGET" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_MGET" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_mget \- Retrieving data from the server
 .
index 160f86306ef89f423c09aaac9bff6056662cae32..39adad70886828aa0d3a016107a07fa220e87f87 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_MGET_BY_KEY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_MGET_BY_KEY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_mget_by_key \- Retrieving data from the server
 .
index af4b655436e65bf80fc9c15faa3b1bd747d2c53f..7d369e6c02441fbf508aadf75d26af34a12e4593 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_MGET_EXECUTE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_MGET_EXECUTE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_mget_execute \- Retrieving data from the server
 .
index 4fa46d4a90c0f74920514a9b501bcad80628f475..12050dc483ee47431a5cea10d76f797862e12ce4 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_mget_execute_by_key \- Retrieving data from the server
 .
index 292a8600698b2c8266b6bbc5b33ae94f876b01c9..0cbdecdeed4e4b3ae42398f44431d00f23621a4e 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_pool \- libmemcached Documentation
 .
@@ -46,7 +46,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
 .UNINDENT
 .sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
 .INDENT 0.0
 .TP
 .B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@ Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
 .TP
 .B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@ created with \fI\%memcached_pool_create()\fP and release all allocated
 resources. It will return the pointer to the \fBmemcached_st\fP structure
 passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
 .sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
 block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
 .sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
 .SH RETURN
 .sp
 \fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
 .sp
 \fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
 .sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
 .SH HOME
 .sp
 To find out more information please check:
index 937dd5c75ac277fa7dd3c5df1ff200ad0a3e41a0..37d6b59273c5052108e635d5a72cdeeab3a356da 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_pool_behavior_get \- libmemcached Documentation
 .
@@ -46,7 +46,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
 .UNINDENT
 .sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
 .INDENT 0.0
 .TP
 .B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@ Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
 .TP
 .B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@ created with \fI\%memcached_pool_create()\fP and release all allocated
 resources. It will return the pointer to the \fBmemcached_st\fP structure
 passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
 .sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
 block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
 .sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
 .SH RETURN
 .sp
 \fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
 .sp
 \fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
 .sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
 .SH HOME
 .sp
 To find out more information please check:
index 08b5e80855dc42712aac63f450976f2b41cc9610..dfcfb00e39a93dfa1b71164cb295c3424c31e4b6 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_pool_behavior_set \- libmemcached Documentation
 .
@@ -46,7 +46,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
 .UNINDENT
 .sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
 .INDENT 0.0
 .TP
 .B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@ Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
 .TP
 .B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@ created with \fI\%memcached_pool_create()\fP and release all allocated
 resources. It will return the pointer to the \fBmemcached_st\fP structure
 passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
 .sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
 block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
 .sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
 .SH RETURN
 .sp
 \fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
 .sp
 \fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
 .sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
 .SH HOME
 .sp
 To find out more information please check:
index b3e2485f5b9ff8c6972b643e5f4ca4e24bc97fbc..672d95df422b9d6b7da52f1141a1e3622b599ddb 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_CREATE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_CREATE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_pool_create \- libmemcached Documentation
 .
@@ -46,7 +46,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
 .UNINDENT
 .sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
 .INDENT 0.0
 .TP
 .B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@ Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
 .TP
 .B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@ created with \fI\%memcached_pool_create()\fP and release all allocated
 resources. It will return the pointer to the \fBmemcached_st\fP structure
 passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
 .sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
 block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
 .sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
 .SH RETURN
 .sp
 \fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
 .sp
 \fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
 .sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
 .SH HOME
 .sp
 To find out more information please check:
index 38f3e1ab5ae305eaf72c72a9bd84a184408ec77a..c7fe30f094d5750d7f79174c9a40fb9f77821286 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_DESTROY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_DESTROY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_pool_destroy \- libmemcached Documentation
 .
@@ -46,7 +46,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
 .UNINDENT
 .sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
 .INDENT 0.0
 .TP
 .B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@ Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
 .TP
 .B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@ created with \fI\%memcached_pool_create()\fP and release all allocated
 resources. It will return the pointer to the \fBmemcached_st\fP structure
 passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
 .sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
 block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
 .sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
 .SH RETURN
 .sp
 \fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
 .sp
 \fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
 .sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
 .SH HOME
 .sp
 To find out more information please check:
diff --git a/docs/man/memcached_pool_fetch.3 b/docs/man/memcached_pool_fetch.3
new file mode 100644 (file)
index 0000000..390bc58
--- /dev/null
@@ -0,0 +1,140 @@
+.TH "MEMCACHED_POOL_FETCH" "3" "September 26, 2011" "0.53" "libmemcached"
+.SH NAME
+memcached_pool_fetch \- libmemcached Documentation
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" Man page generated from reStructeredText.
+.
+.SH SYNOPSIS
+.sp
+#include <libmemcached/memcached_pool.h>
+.INDENT 0.0
+.TP
+.B memcached_pool_st
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fI\%memcached_pool_st\fP* memcached_pool(const char\fI\ *option_string\fP, size_t\fI\ option_string_length\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_behavior_get(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ *value\fP)
+.UNINDENT
+.sp
+Compile and link with \-lmemcachedutil \-lmemcached
+.SH DESCRIPTION
+.sp
+\fI\%memcached_pool()\fP is used to create a connection pool of objects you
+may use to remove the overhead of using memcached_clone for short lived
+\fBmemcached_st\fP objects. Please see \fBlibmemcached_configuration\fP for details on the format of the configuration string.
+.sp
+\fI\%memcached_pool_destroy()\fP is used to destroy the connection pool
+created with \fI\%memcached_pool_create()\fP and release all allocated
+resources. It will return the pointer to the \fBmemcached_st\fP structure
+passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
+.sp
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
+block and wait for a connection structure to be available if we try
+to exceed the maximum size. You need to specify time in relative time.
+.sp
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
+.sp
+\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
+.SH RETURN
+.sp
+\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
+.sp
+\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
+.sp
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
+.SH HOME
+.sp
+To find out more information please check:
+\fI\%http://libmemcached.org/\fP
+.SH AUTHOR
+.sp
+Brian Aker, <\fI\%brian@tangent.org\fP>
+.sp
+Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
+.SH SEE ALSO
+.sp
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP \fIlibmemcached_configuration(3)\fP
+.SH AUTHOR
+Brian Aker
+.SH COPYRIGHT
+2011, Brian Aker DataDifferential, http://datadifferential.com/
+.\" Generated by docutils manpage writer.
+.\" 
+.
index efb46ae675c674bdee29fdc134744678e504e076..d1d1e8e8f8a83e9c7ce331ec7c49993cd9f1117f 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_POP" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_POP" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_pool_pop \- libmemcached Documentation
 .
@@ -46,7 +46,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
 .UNINDENT
 .sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
 .INDENT 0.0
 .TP
 .B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@ Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
 .TP
 .B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@ created with \fI\%memcached_pool_create()\fP and release all allocated
 resources. It will return the pointer to the \fBmemcached_st\fP structure
 passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
 .sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
 block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
 .sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
 .SH RETURN
 .sp
 \fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
 .sp
 \fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
 .sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
 .SH HOME
 .sp
 To find out more information please check:
index 9253c588f36b5f38fbf65bd0b597d77d409a5d77..381ca1dad8a0de5b4efb99705e6b5ffd93b71d29 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_PUSH" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_PUSH" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_pool_push \- libmemcached Documentation
 .
@@ -46,7 +46,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
 .UNINDENT
 .sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
 .INDENT 0.0
 .TP
 .B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@ Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
 .TP
 .B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@ created with \fI\%memcached_pool_create()\fP and release all allocated
 resources. It will return the pointer to the \fBmemcached_st\fP structure
 passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
 .sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
 block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
 .sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
 .SH RETURN
 .sp
 \fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
 .sp
 \fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
 .sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
 .SH HOME
 .sp
 To find out more information please check:
diff --git a/docs/man/memcached_pool_release.3 b/docs/man/memcached_pool_release.3
new file mode 100644 (file)
index 0000000..c952e71
--- /dev/null
@@ -0,0 +1,140 @@
+.TH "MEMCACHED_POOL_RELEASE" "3" "September 26, 2011" "0.53" "libmemcached"
+.SH NAME
+memcached_pool_release \- libmemcached Documentation
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" Man page generated from reStructeredText.
+.
+.SH SYNOPSIS
+.sp
+#include <libmemcached/memcached_pool.h>
+.INDENT 0.0
+.TP
+.B memcached_pool_st
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fI\%memcached_pool_st\fP* memcached_pool(const char\fI\ *option_string\fP, size_t\fI\ option_string_length\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
+.UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_behavior_get(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ *value\fP)
+.UNINDENT
+.sp
+Compile and link with \-lmemcachedutil \-lmemcached
+.SH DESCRIPTION
+.sp
+\fI\%memcached_pool()\fP is used to create a connection pool of objects you
+may use to remove the overhead of using memcached_clone for short lived
+\fBmemcached_st\fP objects. Please see \fBlibmemcached_configuration\fP for details on the format of the configuration string.
+.sp
+\fI\%memcached_pool_destroy()\fP is used to destroy the connection pool
+created with \fI\%memcached_pool_create()\fP and release all allocated
+resources. It will return the pointer to the \fBmemcached_st\fP structure
+passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
+.sp
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
+block and wait for a connection structure to be available if we try
+to exceed the maximum size. You need to specify time in relative time.
+.sp
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
+.sp
+\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
+.SH RETURN
+.sp
+\fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
+.sp
+\fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
+.sp
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+\fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
+.SH HOME
+.sp
+To find out more information please check:
+\fI\%http://libmemcached.org/\fP
+.SH AUTHOR
+.sp
+Brian Aker, <\fI\%brian@tangent.org\fP>
+.sp
+Trond Norbye, <\fI\%trond.norbye@gmail.com\fP>
+.SH SEE ALSO
+.sp
+\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP \fIlibmemcached_configuration(3)\fP
+.SH AUTHOR
+Brian Aker
+.SH COPYRIGHT
+2011, Brian Aker DataDifferential, http://datadifferential.com/
+.\" Generated by docutils manpage writer.
+.\" 
+.
index 06fb571417f6aac6d52b78dcbd303b1a2abebefc..7d20f263c207cdf6e95206202f060cf8f48e95d2 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_POOL_ST" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_POOL_ST" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_pool_st \- libmemcached Documentation
 .
@@ -46,7 +46,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .B \fI\%memcached_pool_st\fP* memcached_pool_create(memcached_st*\fI\ mmc\fP, int\fI\ initial\fP, int\fI\ max\fP)
 .UNINDENT
 .sp
-Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
+Deprecated since version 0.46: Use \fI\%memcached_pool()\fP
 .INDENT 0.0
 .TP
 .B memcached_st* memcached_pool_destroy(\fI\%memcached_pool_st\fP*\fI\ pool\fP)
@@ -55,10 +55,26 @@ Deprecated since version 0.46: Use \fI\%memcached_pool()\fP instead.
 .TP
 .B memcached_st* memcached_pool_pop(\fI\%memcached_pool_st\fP*\fI\ pool\fP, bool\fI\ block\fP, memcached_return_t\fI\ *rc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fBmemcached_pool_fetch()\fP
+.INDENT 0.0
+.TP
+.B memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_pop()
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_push(\fI\%memcached_pool_st\fP*\fI\ pool\fP, memcached_st\fI\ *mmc\fP)
 .UNINDENT
+.sp
+Deprecated since version 0.53: Use \fI\%memcached_pool_push()\fP
+.INDENT 0.0
+.TP
+.B memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.UNINDENT
+.sp
+New in version 0.53: Synonym for memcached_pool_push().
 .INDENT 0.0
 .TP
 .B memcached_return_t memcached_pool_behavior_set(\fI\%memcached_pool_st\fP\fI\ *pool\fP, memcached_behavior_t\fI\ flag\fP, uint64_t\fI\ data\fP)
@@ -80,23 +96,29 @@ created with \fI\%memcached_pool_create()\fP and release all allocated
 resources. It will return the pointer to the \fBmemcached_st\fP structure
 passed as an argument to \fI\%memcached_pool_create()\fP, and returns the ownership of the pointer to the caller when created with \fI\%memcached_pool_create()\fP, otherwise NULL is returned..
 .sp
-\fI\%memcached_pool_pop()\fP is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+\fBmemcached_pool_fetch()\fP is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
 block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
 .sp
-\fI\%memcached_pool_push()\fP is used to return a connection structure back to the pool.
+\fBmemcached_pool_release()\fP is used to return a connection structure back to the pool.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_set()\fP is used to get/set behavior flags on all connections in the pool.
+.sp
+Both \fBmemcached_pool_release()\fP and \fBmemcached_pool_fetch()\fP are thread safe.
 .SH RETURN
 .sp
 \fI\%memcached_pool_destroy()\fP returns the pointer (and ownership) to the \fBmemcached_st\fP structure used to create the pool. If connections are in use it returns NULL.
 .sp
 \fI\%memcached_pool_pop()\fP returns a pointer to a \fBmemcached_st\fP structure from the pool (or NULL if an allocation cannot be satisfied).
 .sp
-\fI\%memcached_pool_push()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+\fBmemcached_pool_release()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
 .sp
 \fI\%memcached_pool_behavior_get()\fP and \fI\%memcached_pool_behavior_get()\fP returns \fBMEMCACHED_SUCCESS\fP upon success.
+.sp
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+.sp
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
 .SH HOME
 .sp
 To find out more information please check:
index 5c42352d93095d5a27183db9092ecb61eab79899..c6c0920a2cc809a24e32d21409460ac544fb6eb9 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_PREPEND" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_PREPEND" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_prepend \- Appending to or Prepending to data on the server
 .
index 230bb6ea2dfd92a95aaa9b7d05657af1ac7ae103..41aa324a88c63cdef8ba4eb99a6c4738f1b13693 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_PREPEND_BY_KEY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_PREPEND_BY_KEY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_prepend_by_key \- Appending to or Prepending to data on the server
 .
index 52cc66901844de354f4b41a5b0104fd42cb01546..273cd38e131f302369801959a793d696dde0ad65 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_QUIT" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_QUIT" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_quit \- libmemcached Documentation
 .
index e636bebc49a15c9d8e04580bb392d8c1e09093cb..20bdef28a9df95fc7a4883570dde728e1125ce4e 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_REPLACE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_REPLACE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_replace \- Storing and Replacing Data
 .
index 59be055bd1e9219ff7b566930d7416d85ce648c5..9b2be59112d6e2da832a6fa97457f3258846da21 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_REPLACE_BY_KEY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_REPLACE_BY_KEY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_replace_by_key \- Storing and Replacing Data
 .
index a97f578ddf898a93070fc699bf536c5ec6d6b16f..515e6302be776ce04060f0624165e18773d8d8a1 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_RESULT_CAS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_RESULT_CAS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_result_cas \- Working with result sets
 .
index c9c276a2a654e7ccfcb32f605e5883f8eaecb81e..e7b23462bf6904f3a6d54bf8968dd7e72a9f17ae 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_RESULT_CREATE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_RESULT_CREATE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_result_create \- Working with result sets
 .
index 3652b3af14591f046fa624a3c311eac02753c764..014d9c202e0fb6a92bd967c642398d8203103db6 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_RESULT_FLAGS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_RESULT_FLAGS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_result_flags \- Working with result sets
 .
index 8b5fe7557d61fc3231cd835c4d24a1ab644e53e3..d1e9e9409e0cfcf120010fb23b60976bf510b86f 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_RESULT_FREE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_RESULT_FREE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_result_free \- Working with result sets
 .
index a4f14c36d83c90615bce05f51259899cce3950a1..9454ce9883c1835aa88d99e2c97f462232e7f76c 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_RESULT_KEY_LENGTH" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_RESULT_KEY_LENGTH" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_result_key_length \- Working with result sets
 .
index c7a03b8e8578d47457dd1213cb94e273f7687db0..16f6663f1aa30f352ac822a6b24152a31062e0c6 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_RESULT_KEY_VALUE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_RESULT_KEY_VALUE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_result_key_value \- Working with result sets
 .
index cfe576c69caede8da1dd938aa53db2fec24e703c..4a03e44f8923923cdda457e3cf0a1b5474f2b56d 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_RESULT_LENGTH" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_RESULT_LENGTH" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_result_length \- Working with result sets
 .
index 394c6d6df1f9d2ca3642c3d06fa0e8aa2d365f06..e2f5d1fe5f1db4bbc7a2bb7728d7556f33195857 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_RESULT_ST" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_RESULT_ST" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_result_st \- Working with result sets
 .
index 5ae06a2165544c3a5a6bb71ef7d4dea187923db5..2987ad81cfa393359acaa2a9cb5cd39c3b7e4e5c 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_RESULT_VALUE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_RESULT_VALUE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_result_value \- Working with result sets
 .
index 2a2a1867e44fd293427807052974279f01c9981b..73b57c6c528ad1c304773517cad2eec7ce1e9c36 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_RETURN_T" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_RETURN_T" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_return_t \- Return type values 
 .
index 9398171ce7ce6c5ad55b4c6b25fd39d0e2419719..bca44977e0074ba5e84d1e6c389355340efb5800 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SASL" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SASL" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_sasl \- libmemcached Documentation
 .
index a7b663d488d05fcf2f8fe2777d37591a50d538e3..6b36bee6eb149f8e14b2493d51f228ab1853159a 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_sasl_set_auth_data \- libmemcached Documentation
 .
index 5921f40019a8b1cd5150a433737771f807f5c2f2..d6e06c89952f132359e2f1cc766eccaaa00e49e5 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_ADD" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_ADD" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_server_add \- libmemcached Documentation
 .
index afbcbbee56e647b1457be1f0adaa1f0aed7b8d5e..fd4be6ded1dc14954fcb17dd25fa352fdf21bc61 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_ADD_UNIX_SOCKET" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_ADD_UNIX_SOCKET" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_server_add_unix_socket \- libmemcached Documentation
 .
index 922f8a090b4202553fb6d9ff018f249f4814789f..7a5015e28578592dc1b602f9447892787fae8b1d 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_COUNT" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_COUNT" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_server_count \- libmemcached Documentation
 .
index 15bc28695aa7b8a2391a380c2d5f45f141b930ec..546f657e33d6d06960ad1e4d9397072557d50b81 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_CURSOR" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_CURSOR" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_server_cursor \- libmemcached Documentation
 .
index e5d81a29ee732213142482a1c7a2af67d8be2ed7..a54f0710a94295aad1dfd305807e6bd60e78c356 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_LIST" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_server_list \- libmemcached Documentation
 .
index 1d04f0774f82120d603cc442fac90e480152c9ce..2e58addcda15c4126300381e75ab08ae1ddbdd6e 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_server_list_append \- libmemcached Documentation
 .
index 06ad109f3a7a8a854fde5a3e5ddea3344c721b12..8a7d9406f28c61ab6da655b77f22af4b342f91ec 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_server_list_count \- libmemcached Documentation
 .
index c318a746acdc9048ee38773c45605a8a8de2141b..e6d14f3d52d6417d151fa88f9f200e4a980a375d 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_LIST_FREE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_FREE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_server_list_free \- libmemcached Documentation
 .
index 75006edf999644d4f20c887f35f41fd2c07d8b5c..d97262e11881cae5625db543d6e9a67acce40a58 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_PUSH" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_PUSH" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_server_push \- libmemcached Documentation
 .
index 2382bdece90bbf9fde273c4a19a447b64e4276de..47414477db6e92845644e68ed1daac511ed89eb4 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVER_ST" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVER_ST" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_server_st \- libmemcached Documentation
 .
index 5f041aef9037b3921450ae00352a96e5cb42c55e..8caf552ac23cb2923bbc12479a4919bf3cd89e23 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVERS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVERS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_servers \- libmemcached Documentation
 .
index 11e786b9431d30dea03c462506dd6b9c812ba7d7..762e86f3693488643bb18003696279e7b20aa1c4 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVERS_PARSE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVERS_PARSE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_servers_parse \- libmemcached Documentation
 .
index a452c05908aee29cb29a68d310c0f30a7ce26e48..c88f8ff4df6ca0e63cfa2a7b4813a790e1c82feb 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SERVERS_RESET" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SERVERS_RESET" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_servers_reset \- libmemcached Documentation
 .
index f3c2e3c44b3954383da98cc05f425847285c4816..13346840ff4deed7436403475e095d133abe026c 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SET" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SET" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_set \- Storing and Replacing Data
 .
index 566f23d83fe3a668aace8366e0513ac66ddea5db..d19449ea2ac059060955d56db66300ae01b039c6 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SET_BY_KEY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SET_BY_KEY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_set_by_key \- Storing and Replacing Data
 .
index 86e7a9d8388e1934b6f8166c0a9b91a2b3cf9075..34be814e0b950efb130d246df2e79346a4ae9714 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_set_memory_allocators \- libmemcached Documentation
 .
index bdc3240c184767fb1ca42f4dee7afedd0412fd10..4a1b37094ebf1a55954c7ec5708e1804491ba3a3 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SET_MEMORY_ALLOCATORS_CONTEXT" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SET_MEMORY_ALLOCATORS_CONTEXT" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_set_memory_allocators_context \- libmemcached Documentation
 .
index 3cf4f63ae67f75284af63b7d79bb204451b5dca6..3d8fb9abc1e655e8a165242eb475e640fa3df810 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_set_sasl_callbacks \- libmemcached Documentation
 .
index 68b128afeb6d7e10162e72e71d3b08719520b8e9..3edc7f35c24cdd9320b54285d8d91b721afac1da 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_SET_USER_DATA" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_SET_USER_DATA" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_set_user_data \- libmemcached Documentation
 .
index 7c3eb270e1b9d4898a8e8b4c591590ff6f5a9174..1ca317fdf173bc0dfa920b653b146cce63b9dc3b 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STAT" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STAT" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_stat \- libmemcached Documentation
 .
index 938d6a057f7d171ba1860ad3c97ef15573a593cc..662502960690327b8e0b93237cf93899a5dd327e 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STAT_EXECUTE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STAT_EXECUTE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_stat_execute \- libmemcached Documentation
 .
index 79ec728d327f502a103f86980170b470a0b29f23..612f24f885d9003fabf266b64aa2546e5fbebc62 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STAT_GET_KEYS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STAT_GET_KEYS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_stat_get_keys \- libmemcached Documentation
 .
index 9a351448253342e0fbdc08fdbbfea6b4b106f5d3..b5720a5ecd887f2777735d3f2a95f944f6bd0d6f 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STAT_GET_VALUE" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STAT_GET_VALUE" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_stat_get_value \- libmemcached Documentation
 .
index d6b845fad601b73954040e21cdf668bc7e168353..efc47dcef2aad5f3c9a1dd77778bf0ae22a20240 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STAT_SERVERNAME" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STAT_SERVERNAME" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_stat_servername \- libmemcached Documentation
 .
index 76598d85d8483b4617c22b2826ccc8618875dbfe..372dff135831f775fb4c2b8c573d555b6e3aaa65 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STATS" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STATS" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_stats \- libmemcached Documentation
 .
index a2b0ee9e86a404d540c4419b79a7ed15055034b4..f1fdd1370f9cbac2b8c9299bd75d15eb907e5ef5 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_STRERROR" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_STRERROR" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_strerror \- libmemcached Documentation
 .
index cc79e99cc1e7101086df2331ef730b9c39cb6f44..bd478d5dcf3c5d5e06bba0eac8711feb47bb6f87 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_USER_DATA" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_USER_DATA" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_user_data \- libmemcached Documentation
 .
index 1f0b48802cfbd49528e89ed3e86bb8ae70ced520..daa502a7c7c73a15bb00ab63e9440a1e82ac2b73 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_VERBOSITY" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_VERBOSITY" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_verbosity \- libmemcached Documentation
 .
index 4597065f087ee0a19e8209baf8d090f290f40645..3a3dd501bbab3f682f0c632e78fcd15fb4303107 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCACHED_VERSION" "3" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCACHED_VERSION" "3" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcached_version \- libmemcached Documentation
 .
index 344b873479e52f41650bd6a618737a18f2221d55..92c5ee0c080288e78bd417ea9d9175ca3875bd0c 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCAPABLE" "1" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCAPABLE" "1" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcapable \- libmemcached Documentation
 .
index a20088870f9dd1b56641b73aec52f1497a8a18d9..f7022e4bc709af387837e8f8223e34aa6dd464f8 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCAT" "1" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCAT" "1" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcat \- libmemcached Documentation
 .
index 4e90e6a9190ebd6adbc2b39588360caea1ce61b8..7ba99f13a7224391ee23b63024307c98cdf03c20 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMCP" "1" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMCP" "1" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memcp \- libmemcached Documentation
 .
index 221b0c940218d816b55ab99822c480ca8492556a..56c92890561f5c3abb26bd4f05d5f2e12fa88792 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMDUMP" "1" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMDUMP" "1" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memdump \- libmemcached Documentation
 .
index 426872bad5b3a57e1d2985b8c55f231018935f2e..e7781ca0b6e52e4298bd8aea36ccf9ccc2c66306 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMERROR" "1" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMERROR" "1" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memerror \- libmemcached Documentation
 .
index bb0b7374bf1483907456b522f2fbab16af88844c..3eca22f8ce07ed2455096735c6fbd131693c597b 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMFLUSH" "1" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMFLUSH" "1" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memflush \- libmemcached Documentation
 .
index 8b87589a87d6bd04ee5282d37f9738ba9a80a00d..c55c8483a7d13824d9b06533cbf604f344b4fbf9 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMRM" "1" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMRM" "1" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memrm \- libmemcached Documentation
 .
index 8419c9118ede2bf09743858bd4026bfca0567fd9..2ad495e2a5a48fcb8dfb7287c22c3783f4512515 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMSLAP" "1" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMSLAP" "1" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memslap \- libmemcached Documentation
 .
index 0d45b7e0732e4f6b73e5ea5e22463085e1d95d4d..bffd510368eb93bc1982f41bca1c8da0c09bb6e1 100644 (file)
@@ -1,4 +1,4 @@
-.TH "MEMSTAT" "1" "September 18, 2011" "0.52" "libmemcached"
+.TH "MEMSTAT" "1" "September 26, 2011" "0.53" "libmemcached"
 .SH NAME
 memstat \- libmemcached Documentation
 .
index 7dcc707a9c081152d9f0868fd4400524abb71df4..3f8882f83661ab51d7fd689933717d58552ee9f8 100644 (file)
@@ -14,13 +14,26 @@ SYNOPSIS
 
 .. c:function:: memcached_pool_st* memcached_pool_create(memcached_st* mmc, int initial, int max)
 .. deprecated:: 0.46
-   Use :c:func:`memcached_pool()` instead.
+   Use :c:func:`memcached_pool()`
  
 .. c:function:: memcached_st* memcached_pool_destroy(memcached_pool_st* pool)
  
-.. c:function:: memcached_st* memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc)
+.. c:function:: memcached_st* memcached_pool_pop(memcached_pool_st* pool, bool block, memcached_return_t *rc)
+.. deprecated:: 0.53
+   Use :c:func:`memcached_pool_fetch()`
+
+.. c:function:: memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
+
+.. versionadded:: 0.53
+   Synonym for memcached_pool_pop()
+
 .. c:function:: memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc)
+.. deprecated:: 0.53
+   Use :c:func:`memcached_pool_push()`
+
+.. c:function:: memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+.. versionadded:: 0.53
+   Synonym for memcached_pool_push().
  
 .. c:function:: memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data)
  
@@ -28,7 +41,6 @@ SYNOPSIS
 
 Compile and link with -lmemcachedutil -lmemcached
 
-
 -----------
 DESCRIPTION
 -----------
@@ -43,15 +55,16 @@ created with :c:func:`memcached_pool_create()` and release all allocated
 resources. It will return the pointer to the :c:type:`memcached_st` structure
 passed as an argument to :c:func:`memcached_pool_create()`, and returns the ownership of the pointer to the caller when created with :c:func:`memcached_pool_create()`, otherwise NULL is returned..
 
-:c:func:`memcached_pool_pop()` is used to grab a connection structure from the
-connection pool. The block argument specifies if the function should
+:c:func:`memcached_pool_fetch()` is used to fetch a connection structure from the
+connection pool. The relative_time argument specifies if the function should
 block and wait for a connection structure to be available if we try
-to exceed the maximum size.
+to exceed the maximum size. You need to specify time in relative time.
 
-:c:func:`memcached_pool_push()` is used to return a connection structure back to the pool.
+:c:func:`memcached_pool_release()` is used to return a connection structure back to the pool.
 
 :c:func:`memcached_pool_behavior_get()` and :c:func:`memcached_pool_behavior_set()` is used to get/set behavior flags on all connections in the pool.
 
+Both :c:func:`memcached_pool_release()` and :c:func:`memcached_pool_fetch()` are thread safe.
 
 ------
 RETURN
@@ -61,10 +74,14 @@ RETURN
 
 :c:func:`memcached_pool_pop()` returns a pointer to a :c:type:`memcached_st` structure from the pool (or NULL if an allocation cannot be satisfied).
 
-:c:func:`memcached_pool_push()` returns :c:type:`MEMCACHED_SUCCESS` upon success.
+:c:func:`memcached_pool_release()` returns :c:type:`MEMCACHED_SUCCESS` upon success.
 
 :c:func:`memcached_pool_behavior_get()` and :c:func:`memcached_pool_behavior_get()` returns :c:type:`MEMCACHED_SUCCESS` upon success.
 
+If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned.
+
+memcached_pool_fetch() may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no memcached_st was available.
+
 
 ----
 HOME
index 1c4ea913689ca54b513d7a8ded2660c9ca13100a..09cac309fcd8cf8563d17eff814d0d144bf9b4e3 100644 (file)
@@ -212,9 +212,9 @@ static inline void set_socket_nonblocking(memcached_server_st *server)
     do
     {
       rval= fcntl(server->fd, F_SETFL, flags | O_NONBLOCK);
-    } while (rval == -1 && (errno == EINTR || errno == EAGAIN));
+    } while (rval == -1 && (errno == EINTR or errno == EAGAIN));
 
-    unlikely (rval == -1)
+    if (rval == -1)
     {
       memcached_set_errno(*server, errno, NULL);
     }
index afb606451fefcfba19b89bc21743f11996cf7ef4..d6b7f16613734bdea1e86c59a0339a8247eb8c2e 100644 (file)
@@ -361,10 +361,12 @@ memcached_return_t memcached_set_errno(memcached_server_st& self, int local_errn
 
 static void _error_print(const memcached_error_t *error)
 {
-  if (not error)
+  if (error == NULL)
+  {
     return;
+  }
 
-  if (not error->size)
+  if (error->size == 0)
   {
     fprintf(stderr, "%s\n", memcached_strerror(NULL, error->rc) );
   }
index e89789d4aadccc63eba79816249f497c8700b963..47f46eec224b7d726ecc4fd3c9e446cbb04221e5 100644 (file)
 #include <libmemcached/common.h>
 #include <libmemcached/memcached_util.h>
 
+#include <libmemcached/error.hpp>
+
 #include <cassert>
 #include <cerrno>
 #include <pthread.h>
 #include <memory>
 
-static bool grow_pool(memcached_pool_st* pool);
-
 struct memcached_pool_st
 {
   pthread_mutex_t mutex;
@@ -56,6 +56,7 @@ struct memcached_pool_st
   const uint32_t size;
   uint32_t current_size;
   bool _owns_master;
+  struct timespec _timeout;
 
   memcached_pool_st(memcached_st *master_arg, size_t max_arg) :
     master(master_arg),
@@ -67,26 +68,21 @@ struct memcached_pool_st
   {
     pthread_mutex_init(&mutex, NULL);
     pthread_cond_init(&cond, NULL);
+    _timeout.tv_sec= 5;
+    _timeout.tv_nsec= 0;
   }
 
-  bool init(uint32_t initial)
+  const struct timespec& timeout() const
   {
-    server_pool= new (std::nothrow) memcached_st *[size];
-    if (not server_pool)
-      return false;
+    return _timeout;
+  }
 
-    /*
-      Try to create the initial size of the pool. An allocation failure at
-      this time is not fatal..
-    */
-    for (unsigned int x= 0; x < initial; ++x)
-    {
-      if (not grow_pool(this))
-        break;
-    }
+  bool release(memcached_st*, memcached_return_t& rc);
 
-    return true;
-  }
+  memcached_st *fetch(memcached_return_t& rc);
+  memcached_st *fetch(const struct timespec&, memcached_return_t& rc);
+
+  bool init(uint32_t initial);
 
   ~memcached_pool_st()
   {
@@ -121,27 +117,6 @@ struct memcached_pool_st
   }
 };
 
-static memcached_return_t mutex_enter(pthread_mutex_t *mutex)
-{
-  int ret;
-  do
-  {
-    ret= pthread_mutex_lock(mutex);
-  } while (ret == -1 && errno == EINTR);
-
-  return (ret == -1) ? MEMCACHED_ERRNO : MEMCACHED_SUCCESS;
-}
-
-static memcached_return_t mutex_exit(pthread_mutex_t *mutex)
-{
-  int ret;
-  do
-  {
-    ret= pthread_mutex_unlock(mutex);
-  } while (ret == -1 && errno == EINTR);
-
-  return (ret == -1) ? MEMCACHED_ERRNO : MEMCACHED_SUCCESS;
-}
 
 /**
  * Grow the connection pool by creating a connection structure and clone the
@@ -149,6 +124,8 @@ static memcached_return_t mutex_exit(pthread_mutex_t *mutex)
  */
 static bool grow_pool(memcached_pool_st* pool)
 {
+  assert(pool);
+
   memcached_st *obj;
   if (not (obj= memcached_clone(NULL, pool->master)))
   {
@@ -162,18 +139,38 @@ static bool grow_pool(memcached_pool_st* pool)
   return true;
 }
 
+bool memcached_pool_st::init(uint32_t initial)
+{
+  server_pool= new (std::nothrow) memcached_st *[size];
+  if (not server_pool)
+    return false;
+
+  /*
+    Try to create the initial size of the pool. An allocation failure at
+    this time is not fatal..
+  */
+  for (unsigned int x= 0; x < initial; ++x)
+  {
+    if (grow_pool(this) == false)
+    {
+      break;
+    }
+  }
+
+  return true;
+}
+
+
 static inline memcached_pool_st *_pool_create(memcached_st* master, uint32_t initial, uint32_t max)
 {
   if (initial == 0 or max == 0 or (initial > max))
   {
-    errno= EINVAL;
     return NULL;
   }
 
   memcached_pool_st *object= new (std::nothrow) memcached_pool_st(master, max);
   if (object == NULL)
   {
-    errno= ENOMEM; // Set this for the failed calloc
     return NULL;
   }
 
@@ -208,10 +205,8 @@ memcached_pool_st * memcached_pool(const char *option_string, size_t option_stri
   if (self == NULL)
   {
     memcached_free(memc);
-    errno= ENOMEM;
     return NULL;
   }
-  errno= 0;
 
   self->_owns_master= true;
 
@@ -239,121 +234,180 @@ memcached_st*  memcached_pool_destroy(memcached_pool_st* pool)
   return ret;
 }
 
-memcached_st* memcached_pool_pop(memcached_pool_st* pool,
-                                 bool block,
-                                 memcached_return_t *rc)
+memcached_st* memcached_pool_st::fetch(memcached_return_t& rc)
 {
-  memcached_return_t not_used;
-  if (rc == NULL)
-  {
-    rc= &not_used;
-  }
-
-  if (pool == NULL)
-  {
-    *rc= MEMCACHED_INVALID_ARGUMENTS;
-    errno= EINVAL;
+  static struct timespec relative_time= { 0, 0 };
+  return fetch(relative_time, rc);
+}
 
-    return NULL;
-  }
+memcached_st* memcached_pool_st::fetch(const struct timespec& relative_time, memcached_return_t& rc)
+{
+  rc= MEMCACHED_SUCCESS;
 
-  if (memcached_failed((*rc= mutex_enter(&pool->mutex))))
+  if (pthread_mutex_lock(&mutex))
   {
+    rc= MEMCACHED_IN_PROGRESS;
     return NULL;
   }
 
   memcached_st *ret= NULL;
   do
   {
-    if (pool->firstfree > -1)
+    if (firstfree > -1)
     {
-      ret= pool->server_pool[pool->firstfree--];
+      ret= server_pool[firstfree--];
     }
-    else if (pool->current_size == pool->size)
+    else if (current_size == size)
     {
-      if (block == false)
+      if (relative_time.tv_sec == 0 and relative_time.tv_nsec == 0)
       {
-        *rc= mutex_exit(&pool->mutex); // this should be a different error
+        pthread_mutex_unlock(&mutex);
+        rc= MEMCACHED_NOTFOUND;
+
         return NULL;
       }
 
       struct timespec time_to_wait= {0, 0};
-      time_to_wait.tv_sec = time(NULL) +5;
+      time_to_wait.tv_sec= time(NULL) +relative_time.tv_sec;
+      time_to_wait.tv_nsec= relative_time.tv_nsec;
+
       int thread_ret;
-      if ((thread_ret= pthread_cond_timedwait(&pool->cond, &pool->mutex, &time_to_wait)) != 0)
+      if ((thread_ret= pthread_cond_timedwait(&cond, &mutex, &time_to_wait)) != 0)
       {
-        mutex_exit(&pool->mutex);
-        errno= thread_ret;
+        pthread_mutex_unlock(&mutex);
 
         if (thread_ret == ETIMEDOUT)
         {
-          *rc= MEMCACHED_TIMEOUT;
+          rc= MEMCACHED_TIMEOUT;
         }
         else
         {
-          *rc= MEMCACHED_ERRNO;
+          errno= thread_ret;
+          rc= MEMCACHED_ERRNO;
         }
 
         return NULL;
       }
     }
-    else if (not grow_pool(pool))
+    else if (grow_pool(this) == false)
     {
-      (void)mutex_exit(&pool->mutex);
-      *rc= MEMCACHED_MEMORY_ALLOCATION_FAILURE;
+      (void)pthread_mutex_unlock(&mutex);
       return NULL;
     }
   } while (ret == NULL);
 
-  *rc= mutex_exit(&pool->mutex);
+  pthread_mutex_unlock(&mutex);
 
   return ret;
 }
 
-memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *released)
+bool memcached_pool_st::release(memcached_st *released, memcached_return_t& rc)
 {
-  if (pool == NULL)
-  {
-    return MEMCACHED_INVALID_ARGUMENTS;
-  }
-
+  rc= MEMCACHED_SUCCESS;
   if (released == NULL)
   {
-    return MEMCACHED_INVALID_ARGUMENTS;
+    rc= MEMCACHED_INVALID_ARGUMENTS;
+    return false;
   }
 
-  memcached_return_t rc= mutex_enter(&pool->mutex);
-
-  if (rc != MEMCACHED_SUCCESS)
+  if (pthread_mutex_lock(&mutex))
   {
-    return rc;
+    rc= MEMCACHED_IN_PROGRESS;
+    return false;
   }
 
-  /* Someone updated the behavior on the object.. */
-  if (pool->compare_version(released) == false)
+  /* 
+    Someone updated the behavior on the object, so we clone a new memcached_st with the new settings. If we fail to clone, we keep the old one around.
+  */
+  if (compare_version(released) == false)
   {
-    memcached_free(released);
-    if (not (released= memcached_clone(NULL, pool->master)))
+    memcached_st *memc;
+    if ((memc= memcached_clone(NULL, master)))
     {
-      rc= MEMCACHED_SOME_ERRORS;
+      memcached_free(released);
+      released= memc;
     }
   }
 
-  pool->server_pool[++pool->firstfree]= released;
+  server_pool[++firstfree]= released;
 
-  if (pool->firstfree == 0 and pool->current_size == pool->size)
+  if (firstfree == 0 and current_size == size)
   {
     /* we might have people waiting for a connection.. wake them up :-) */
-    pthread_cond_broadcast(&pool->cond);
+    pthread_cond_broadcast(&cond);
   }
 
-  memcached_return_t rval= mutex_exit(&pool->mutex);
-  if (rc == MEMCACHED_SOME_ERRORS)
+  (void)pthread_mutex_unlock(&mutex);
+
+  return true;
+}
+
+memcached_st* memcached_pool_fetch(memcached_pool_st* pool, struct timespec* relative_time, memcached_return_t* rc)
+{
+  if (pool == NULL)
   {
-    return rc;
+    return NULL;
+  }
+
+  memcached_return_t unused;
+  if (rc == NULL)
+  {
+    rc= &unused;
   }
 
-  return rval;
+  if (relative_time == NULL)
+  {
+    return pool->fetch(*rc);
+  }
+
+  return pool->fetch(*relative_time, *rc);
+}
+
+memcached_st* memcached_pool_pop(memcached_pool_st* pool,
+                                 bool block,
+                                 memcached_return_t *rc)
+{
+  if (pool == NULL)
+  {
+    return NULL;
+  }
+
+  memcached_return_t unused;
+  if (rc == NULL)
+  {
+    rc= &unused;
+  }
+
+  memcached_st *memc;
+  if (block)
+  {
+    memc= pool->fetch(pool->timeout(), *rc);
+  }
+  else
+  {
+    memc= pool->fetch(*rc);
+  }
+
+  return memc;
+}
+
+memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st *released)
+{
+  if (pool == NULL)
+  {
+    return MEMCACHED_INVALID_ARGUMENTS;
+  }
+
+  memcached_return_t rc;
+
+  (void) pool->release(released, rc);
+
+  return rc;
+}
+
+memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *released)
+{
+  return memcached_pool_release(pool, released);
 }
 
 
@@ -366,15 +420,16 @@ memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool,
     return MEMCACHED_INVALID_ARGUMENTS;
   }
 
-  memcached_return_t rc= mutex_enter(&pool->mutex);
-  if (rc != MEMCACHED_SUCCESS)
-    return rc;
+  if (pthread_mutex_lock(&pool->mutex))
+  {
+    return MEMCACHED_IN_PROGRESS;
+  }
 
   /* update the master */
-  rc= memcached_behavior_set(pool->master, flag, data);
-  if (rc != MEMCACHED_SUCCESS)
+  memcached_return_t rc= memcached_behavior_set(pool->master, flag, data);
+  if (memcached_failed(rc))
   {
-    mutex_exit(&pool->mutex);
+    (void)pthread_mutex_unlock(&pool->mutex);
     return rc;
   }
 
@@ -382,16 +437,17 @@ memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool,
   /* update the clones */
   for (int xx= 0; xx <= pool->firstfree; ++xx)
   {
-    rc= memcached_behavior_set(pool->server_pool[xx], flag, data);
-    if (rc == MEMCACHED_SUCCESS)
+    if (memcached_success(memcached_behavior_set(pool->server_pool[xx], flag, data)))
     {
       pool->server_pool[xx]->configure.version= pool->version();
     }
     else
     {
-      memcached_free(pool->server_pool[xx]);
-      if (not (pool->server_pool[xx]= memcached_clone(NULL, pool->master)))
+      memcached_st *memc;
+      if ((memc= memcached_clone(NULL, pool->master)))
       {
+        memcached_free(pool->server_pool[xx]);
+        pool->server_pool[xx]= memc;
         /* I'm not sure what to do in this case.. this would happen
           if we fail to push the server list inside the client..
           I should add a testcase for this, but I believe the following
@@ -402,7 +458,9 @@ memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool,
     }
   }
 
-  return mutex_exit(&pool->mutex);
+  (void)pthread_mutex_unlock(&pool->mutex);
+
+  return rc;
 }
 
 memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool,
@@ -414,13 +472,14 @@ memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool,
     return MEMCACHED_INVALID_ARGUMENTS;
   }
 
-  memcached_return_t rc= mutex_enter(&pool->mutex);
-  if (rc != MEMCACHED_SUCCESS)
+  if (pthread_mutex_lock(&pool->mutex))
   {
-    return rc;
+    return MEMCACHED_IN_PROGRESS;
   }
 
   *value= memcached_behavior_get(pool->master, flag);
 
-  return mutex_exit(&pool->mutex);
+  (void)pthread_mutex_unlock(&pool->mutex);
+
+  return MEMCACHED_SUCCESS;
 }
index e4a6ce59db9ef667322e426e66421c1fcab4dacd..eba97ec26fa98d40bce86369c829aeb49166bde3 100644 (file)
@@ -63,6 +63,11 @@ memcached_st* memcached_pool_pop(memcached_pool_st* pool,
 LIBMEMCACHED_API
 memcached_return_t memcached_pool_push(memcached_pool_st* pool,
                                        memcached_st* mmc);
+LIBMEMCACHED_API
+  memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc);
+
+LIBMEMCACHED_API
+memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc);
 
 LIBMEMCACHED_API
 memcached_return_t memcached_pool_behavior_set(memcached_pool_st *ptr,
index 05cc580c54626405b76e7e31713efdf0a8a25f2a..a91cc2ac028c069009ae4c346f83fa59ae7dd0da 100644 (file)
@@ -22,7 +22,7 @@
 
 LIBTOOL_COMMAND= ${abs_top_builddir}/libtool --mode=execute
 VALGRIND_COMMAND= $(LIBTOOL_COMMAND) valgrind --error-exitcode=1 --leak-check=yes --show-reachable=yes --track-fds=yes --malloc-fill=A5 --free-fill=DE
-HELGRIND_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=helgrind --read-var-info=yes --error-exitcode=1 
+HELGRIND_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=helgrind --read-var-info=yes --error-exitcode=1 --read-var-info=yes
 DRD_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=drd
 GDB_COMMAND= $(LIBTOOL_COMMAND) gdb -f -x libtest/run.gdb
 
index f47cbb04b0cb41bad5d9d5f0eae4d8a58a450fed..8d718a86a64ffe6dc5a1a58ff2dfed892e7df4f4 100644 (file)
@@ -214,10 +214,6 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
       [Define if system doesn't define])
   ])
 
-  AC_CHECK_LIBM
-  dnl Bug on FreeBSD - LIBM check doesn't set the damn variable
-  AC_SUBST([LIBM])
-  
   AC_CHECK_FUNC(setsockopt, [], [AC_CHECK_LIB(socket, setsockopt)])
   AC_CHECK_FUNC(bind, [], [AC_CHECK_LIB(bind, bind)])
 
index c8e31197e9c44abc9d01acf8771b16bb7badbe08..d355e1f3f1fda201f7b72be0afce53f12effdf36 100644 (file)
@@ -45,6 +45,7 @@ AC_DEFUN([PANDORA_PLATFORM],[
 
   PANDORA_OPTIMIZE_BITFIELD=1
 
+  TARGET_LINUX="false"
   case "$target_os" in
     *linux*)
     TARGET_LINUX="true"
index c031b7b36592d1da2d5133175ebba162bad81bc3..64abfc3234c2538871303c6a5f021fc3cbaed252 100644 (file)
@@ -245,7 +245,10 @@ you will need to install %{name}-devel.
 %{_mandir}/man3/memcached_pool_destroy.3.gz
 %{_mandir}/man3/memcached_pool_pop.3.gz
 %{_mandir}/man3/memcached_pool_push.3.gz
+%{_mandir}/man3/memcached_pool_fetch.3.gz
+%{_mandir}/man3/memcached_pool_release.3.gz
 %{_mandir}/man3/memcached_pool_st.3.gz
+%{_mandir}/man3/memcached_pool.3.gz
 %{_mandir}/man3/memcached_prepend.3.gz
 %{_mandir}/man3/memcached_prepend_by_key.3.gz
 %{_mandir}/man3/memcached_quit.3.gz
index 9ea0994d9e28ccbe3cfa3a8e3e2088481a466ba9..8e173d88a331f2a63ade91bc8abf520f66bb15ee 100644 (file)
@@ -420,23 +420,3 @@ helgrind-hash: tests/testhashkit
 
 helgrind-hashplus: tests/hash_plus
        @$(HELGRIND_COMMAND) tests/hash_plus
-
-.PHONY += helgrind
-helgrind: helgrind-cycle helgrind-mem helgrind-udp helgrind-plus helgrind-hash helgrind-hashplus
-
-.PHONY += cachegrind
-CLEANFILES += tests/cachegrind.out
-cachegrind:
-       rm -f tests/cachegrind.out.*
-       $(LIBTOOL) --mode=execute valgrind --tool=cachegrind --cachegrind-out-file=tests/cachegrind.out.%p --branch-sim=yes tests/testapp
-       cg_annotate tests/cachegrind.out.* --auto=yes > tests/cachegrind.out
-
-.PHONY += callgrind
-CLEANFILES += tests/callgrind.out
-callgrind:
-       rm -f tests/callgrind.out.*
-       $(LIBTOOL) --mode=execute valgrind --tool=callgrind --callgrind-out-file=tests/callgrind.out.%p  tests/testapp
-       callgrind_annotate tests/callgrind.out.* --auto=yes > tests/callgrind.out
-
-hudson-valgrind: tests/testapp
-       $(VALGRIND_COMMAND) --log-file=tests/valgrind.out tests/testapp
index c6f627f7d36bb61430019339db9a21697132f829..cca23464e01ac16d9b63aa21e2c5cdef6ca3395d 100644 (file)
@@ -4192,41 +4192,6 @@ static test_return_t dump_test(memcached_st *memc)
   return TEST_SUCCESS;
 }
 
-struct test_pool_context_st {
-  volatile memcached_return_t rc;
-  memcached_pool_st* pool;
-  memcached_st* mmc;
-  sem_t lock;
-
-  test_pool_context_st(memcached_pool_st *pool_arg, memcached_st *memc_arg):
-    rc(MEMCACHED_FAILURE),
-    pool(pool_arg),
-    mmc(memc_arg)
-  {
-    sem_init(&lock, 0, 0);
-  }
-
-  ~test_pool_context_st()
-  {
-    sem_destroy(&lock);
-  }
-};
-
-static void* connection_release(void *arg)
-{
-  test_pool_context_st *resource= static_cast<test_pool_context_st *>(arg);
-  assert(resource);
-  if (resource == NULL)
-  {
-    abort();
-  }
-
-  sem_wait(&resource->lock);
-  // Release all of the memc we are holding
-  resource->rc= memcached_pool_push(resource->pool, resource->mmc);
-
-  pthread_exit(arg);
-}
 
 #define POOL_SIZE 10
 static test_return_t connection_pool_test(memcached_st *memc)
@@ -4234,55 +4199,21 @@ static test_return_t connection_pool_test(memcached_st *memc)
   memcached_pool_st* pool= memcached_pool_create(memc, 5, POOL_SIZE);
   test_true(pool);
   memcached_st *mmc[POOL_SIZE];
-  memcached_return_t rc;
 
   // Fill up our array that we will store the memc that are in the pool
   for (size_t x= 0; x < POOL_SIZE; ++x)
   {
-    mmc[x]= memcached_pool_pop(pool, false, &rc);
-    test_true(mmc[x]);
+    memcached_return_t rc;
+    mmc[x]= memcached_pool_fetch(pool, NULL, &rc);
     test_compare(MEMCACHED_SUCCESS, rc);
+    test_true(mmc[x]);
   }
 
   // All memc should be gone
-  test_null(memcached_pool_pop(pool, false, &rc));
-  test_compare(MEMCACHED_SUCCESS, rc);
-
-  /*
-    @note This comment was written to describe what was believed to be the original authors intent.
-
-    This portion of the test creates a thread that will wait until told to free a memcached_st
-    that will be grabbed by the main thread.
-
-    It is believed that this tests whether or not we are handling ownership correctly.
-  */
   {
-    pthread_t tid;
-    test_pool_context_st item(pool, mmc[9]);
-
-    test_zero(pthread_create(&tid, NULL, connection_release, &item));
-    mmc[9]= memcached_pool_pop(pool, true, &rc);
-    if (rc != MEMCACHED_SUCCESS)
-    {
-      sem_post(&item.lock);
-      pthread_join(tid, NULL);
-    }
-    else if (rc == MEMCACHED_TIMEOUT)
-    {
-      Error << "Possible timing issue with memcached_pool_pop";
-    }
-    else
-    {
-      test_compare(MEMCACHED_SUCCESS, rc);
-    }
-
-    sem_post(&item.lock);
-    pthread_join(tid, NULL);
-    if (rc == MEMCACHED_SUCCESS)
-    {
-      test_compare(MEMCACHED_SUCCESS, item.rc);
-      test_true(mmc[9]);
-    }
+    memcached_return_t rc;
+    test_null(memcached_pool_fetch(pool, NULL, &rc));
+    test_compare(MEMCACHED_NOTFOUND, rc);
   }
 
   // Release them..
@@ -4290,7 +4221,7 @@ static test_return_t connection_pool_test(memcached_st *memc)
   {
     if (mmc[x])
     {
-      test_compare(MEMCACHED_SUCCESS, memcached_pool_push(pool, mmc[x]));
+      test_compare(MEMCACHED_SUCCESS, memcached_pool_release(pool, mmc[x]));
     }
   }
   test_true(memcached_pool_destroy(pool) == memc);
@@ -4303,19 +4234,22 @@ static test_return_t connection_pool2_test(memcached_st *memc)
   memcached_pool_st* pool= memcached_pool_create(memc, 5, POOL_SIZE);
   test_true(pool);
   memcached_st *mmc[POOL_SIZE];
-  memcached_return_t rc;
 
   // Fill up our array that we will store the memc that are in the pool
   for (size_t x= 0; x < POOL_SIZE; ++x)
   {
-    mmc[x]= memcached_pool_pop(pool, false, &rc);
-    test_true(mmc[x]);
+    memcached_return_t rc;
+    mmc[x]= memcached_pool_fetch(pool, NULL, &rc);
     test_compare(MEMCACHED_SUCCESS, rc);
+    test_true(mmc[x]);
   }
 
   // All memc should be gone
-  test_null(memcached_pool_pop(pool, false, &rc));
-  test_compare(MEMCACHED_SUCCESS, rc);
+  {
+    memcached_return_t rc;
+    test_null(memcached_pool_fetch(pool, NULL, &rc));
+    test_compare(MEMCACHED_NOTFOUND, rc);
+  }
 
   // verify that I can do ops with all connections
   test_compare(MEMCACHED_SUCCESS,
@@ -4336,7 +4270,7 @@ static test_return_t connection_pool2_test(memcached_st *memc)
   // Release them..
   for (size_t x= 0; x < POOL_SIZE; ++x)
   {
-    test_compare(MEMCACHED_SUCCESS, memcached_pool_push(pool, mmc[x]));
+    test_compare(MEMCACHED_SUCCESS, memcached_pool_release(pool, mmc[x]));
   }
 
 
@@ -4344,22 +4278,137 @@ static test_return_t connection_pool2_test(memcached_st *memc)
    * of the connections in the pool. It should however be enabled
    * when I push the item into the pool
    */
-  mmc[0]= memcached_pool_pop(pool, false, &rc);
+  mmc[0]= memcached_pool_fetch(pool, NULL, NULL);
   test_true(mmc[0]);
 
   test_compare(MEMCACHED_SUCCESS,
                memcached_pool_behavior_set(pool, MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK, 9999));
 
-  mmc[1]= memcached_pool_pop(pool, false, &rc);
-  test_true(mmc[1]);
+  {
+    memcached_return_t rc;
+    mmc[1]= memcached_pool_fetch(pool, NULL, &rc);
+    test_true(mmc[1]);
+    test_compare(MEMCACHED_SUCCESS, rc);
+  }
 
   test_compare(UINT64_C(9999), memcached_behavior_get(mmc[1], MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK));
-  test_compare(MEMCACHED_SUCCESS, memcached_pool_push(pool, mmc[1]));
-  test_compare(MEMCACHED_SUCCESS, memcached_pool_push(pool, mmc[0]));
+  test_compare(MEMCACHED_SUCCESS, memcached_pool_release(pool, mmc[1]));
+  test_compare(MEMCACHED_SUCCESS, memcached_pool_release(pool, mmc[0]));
+
+  {
+    memcached_return_t rc;
+    mmc[0]= memcached_pool_fetch(pool, NULL, &rc);
+    test_true(mmc[0]);
+    test_compare(MEMCACHED_SUCCESS, rc);
+  }
 
-  mmc[0]= memcached_pool_pop(pool, false, &rc);
   test_compare(UINT64_C(9999), memcached_behavior_get(mmc[0], MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK));
-  test_compare(MEMCACHED_SUCCESS, memcached_pool_push(pool, mmc[0]));
+  test_compare(MEMCACHED_SUCCESS, memcached_pool_release(pool, mmc[0]));
+
+  test_true(memcached_pool_destroy(pool) == memc);
+
+  return TEST_SUCCESS;
+}
+
+struct test_pool_context_st {
+  volatile memcached_return_t rc;
+  memcached_pool_st* pool;
+  memcached_st* mmc;
+  sem_t _lock;
+
+  test_pool_context_st(memcached_pool_st *pool_arg, memcached_st *memc_arg):
+    rc(MEMCACHED_FAILURE),
+    pool(pool_arg),
+    mmc(memc_arg)
+  {
+    sem_init(&_lock, 0, 0);
+  }
+
+  void wait()
+  {
+    sem_wait(&_lock);
+  }
+
+  void release()
+  {
+    sem_post(&_lock);
+  }
+
+  ~test_pool_context_st()
+  {
+    sem_destroy(&_lock);
+  }
+};
+
+static void* connection_release(void *arg)
+{
+  test_pool_context_st *resource= static_cast<test_pool_context_st *>(arg);
+  assert(resource);
+  if (resource == NULL)
+  {
+    abort();
+  }
+
+  // Release all of the memc we are holding 
+  resource->rc= memcached_pool_release(resource->pool, resource->mmc);
+  resource->release();
+
+  pthread_exit(arg);
+}
+
+static test_return_t connection_pool3_test(memcached_st *memc)
+{
+  memcached_pool_st* pool= memcached_pool_create(memc, 1, 1);
+  test_true(pool);
+
+  memcached_st *pool_memc;
+  {
+    memcached_return_t rc;
+    pool_memc= memcached_pool_fetch(pool, NULL, &rc);
+    test_compare(MEMCACHED_SUCCESS, rc);
+    test_true(pool_memc);
+  }
+
+  /*
+    @note This comment was written to describe what was believed to be the original authors intent.
+
+    This portion of the test creates a thread that will wait until told to free a memcached_st
+    that will be grabbed by the main thread.
+
+    It is believed that this tests whether or not we are handling ownership correctly.
+  */
+  pthread_t tid;
+  test_pool_context_st item(pool, pool_memc);
+
+  test_zero(pthread_create(&tid, NULL, connection_release, &item));
+  item.wait();
+
+  memcached_return_t rc;
+  memcached_st *pop_memc;
+  int counter= 5;
+  do
+  {
+    struct timespec relative_time= { 0, 0 };
+    pop_memc= memcached_pool_fetch(pool, &relative_time, &rc);
+
+    if (memcached_failed(rc))
+    {
+      test_null(pop_memc);
+    }
+  } while (rc == MEMCACHED_TIMEOUT and --counter);
+
+  if (memcached_failed(rc)) // Cleanup thread since we will exit once we test.
+  {
+    pthread_join(tid, NULL);
+    test_compare(MEMCACHED_SUCCESS, rc);
+  }
+
+  {
+    int pthread_ret= pthread_join(tid, NULL);
+    test_true(pthread_ret == 0 or pthread_ret == ESRCH);
+  }
+  test_compare(MEMCACHED_SUCCESS, rc);
+  test_true(pool_memc == pop_memc);
 
   test_true(memcached_pool_destroy(pool) == memc);
 
@@ -5910,6 +5959,7 @@ test_st tests[] ={
   {"analyzer", true, (test_callback_fn*)analyzer_test},
   {"memcached_pool_st", true, (test_callback_fn*)connection_pool_test },
   {"memcached_pool_st #2", true, (test_callback_fn*)connection_pool2_test },
+  {"memcached_pool_st #3", true, (test_callback_fn*)connection_pool3_test },
   {"memcached_pool_test", true, (test_callback_fn*)memcached_pool_test },
   {"test_get_last_disconnect", true, (test_callback_fn*)test_get_last_disconnect},
   {"verbosity", true, (test_callback_fn*)test_verbosity},