X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibmemcachedutil%2Fpid.cc;h=f910978d6fe57a93ed5a1316da3f8aa67a2703cf;hb=20690cd266ff724e3ea1c543ea6a5fe47fec27e7;hp=346561183b40c89e222615dfd2b125081d22fc92;hpb=5e760300d15ef4c5b7eed3fb9f37920ebca2f6ec;p=awesomized%2Flibmemcached diff --git a/src/libmemcachedutil/pid.cc b/src/libmemcachedutil/pid.cc index 34656118..f910978d 100644 --- a/src/libmemcachedutil/pid.cc +++ b/src/libmemcachedutil/pid.cc @@ -1,85 +1,51 @@ -/* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: - * - * Libmemcached library - * - * Copyright (C) 2011 Data Differential, http://datadifferential.com/ - * Copyright (C) 2010 Brian Aker All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * - * * The names of its contributors may not be used to endorse or - * promote products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Summary: connects to a host, and determines what its pid is - * - */ - -#include - +/* + +--------------------------------------------------------------------+ + | libmemcached - C/C++ Client Library for memcached | + +--------------------------------------------------------------------+ + | Redistribution and use in source and binary forms, with or without | + | modification, are permitted under the terms of the BSD license. | + | You should have received a copy of the license in a bundled file | + | named LICENSE; in case you did not receive a copy you can review | + | the terms online at: https://opensource.org/licenses/BSD-3-Clause | + +--------------------------------------------------------------------+ + | Copyright (c) 2006-2014 Brian Aker https://datadifferential.com/ | + | Copyright (c) 2020 Michael Wallner | + +--------------------------------------------------------------------+ +*/ + +#include "libmemcachedutil/common.h" // Never look at the stat object directly. - -pid_t libmemcached_util_getpid(const char *hostname, in_port_t port, memcached_return_t *ret) -{ - pid_t pid= -1; +pid_t libmemcached_util_getpid(const char *hostname, in_port_t port, memcached_return_t *ret) { + pid_t pid = -1; memcached_return_t unused; - if (ret == NULL) - { - ret= &unused; + if (ret == NULL) { + ret = &unused; } - memcached_st *memc_ptr= memcached_create(NULL); - if (memc_ptr == NULL) - { - *ret= MEMCACHED_MEMORY_ALLOCATION_FAILURE; + memcached_st *memc_ptr = memcached_create(NULL); + if (memc_ptr == NULL) { + *ret = MEMCACHED_MEMORY_ALLOCATION_FAILURE; return -1; } - memcached_return_t rc= memcached_server_add(memc_ptr, hostname, port); - if (memcached_success(rc)) - { - memcached_stat_st *stat= memcached_stat(memc_ptr, NULL, &rc); - if (memcached_success(rc) and stat and stat->pid != -1) - { - pid= stat->pid; - } - else if (memcached_success(rc)) - { - rc= MEMCACHED_UNKNOWN_STAT_KEY; // Something went wrong if this happens - } - else if (rc == MEMCACHED_SOME_ERRORS) // Generic answer, we will now find the specific reason (if one exists) + memcached_return_t rc = memcached_server_add(memc_ptr, hostname, port); + if (memcached_success(rc)) { + memcached_stat_st *stat = memcached_stat(memc_ptr, NULL, &rc); + if (memcached_success(rc) and stat and stat->pid != -1) { + pid = stat->pid; + } else if (memcached_success(rc)) { + rc = MEMCACHED_UNKNOWN_STAT_KEY; // Something went wrong if this happens + } else if (rc == MEMCACHED_SOME_ERRORS) // Generic answer, we will now find the specific reason + // (if one exists) { - const memcached_instance_st * instance= memcached_server_instance_by_position(memc_ptr, 0); + const memcached_instance_st *instance = memcached_server_instance_by_position(memc_ptr, 0); assert_msg(instance and memcached_server_error(instance), " "); - if (instance and memcached_server_error(instance)) - { - rc= memcached_server_error_return(instance); + if (instance and memcached_server_error(instance)) { + rc = memcached_server_error_return(instance); } } @@ -87,67 +53,56 @@ pid_t libmemcached_util_getpid(const char *hostname, in_port_t port, memcached_r } memcached_free(memc_ptr); - *ret= rc; + *ret = rc; return pid; } -pid_t libmemcached_util_getpid2(const char *hostname, in_port_t port, const char *username, const char *password, memcached_return_t *ret) -{ - if (username == NULL) - { +pid_t libmemcached_util_getpid2(const char *hostname, in_port_t port, const char *username, + const char *password, memcached_return_t *ret) { + if (username == NULL) { return libmemcached_util_getpid(hostname, port, ret); } - pid_t pid= -1; + pid_t pid = -1; memcached_return_t unused; if (not ret) - ret= &unused; + ret = &unused; - if (LIBMEMCACHED_WITH_SASL_SUPPORT == 0) - { - *ret= MEMCACHED_NOT_SUPPORTED; + if (LIBMEMCACHED_WITH_SASL_SUPPORT == 0) { + *ret = MEMCACHED_NOT_SUPPORTED; return pid; } - memcached_st *memc_ptr= memcached_create(NULL); - if (not memc_ptr) - { - *ret= MEMCACHED_MEMORY_ALLOCATION_FAILURE; + memcached_st *memc_ptr = memcached_create(NULL); + if (not memc_ptr) { + *ret = MEMCACHED_MEMORY_ALLOCATION_FAILURE; return -1; } - if (memcached_failed(*ret= memcached_set_sasl_auth_data(memc_ptr, username, password))) - { + if (memcached_failed(*ret = memcached_set_sasl_auth_data(memc_ptr, username, password))) { memcached_free(memc_ptr); return false; } - - memcached_return_t rc= memcached_server_add(memc_ptr, hostname, port); - if (memcached_success(rc)) - { - memcached_stat_st *stat= memcached_stat(memc_ptr, NULL, &rc); - if (memcached_success(rc) and stat and stat->pid != -1) - { - pid= stat->pid; - } - else if (memcached_success(rc)) - { - rc= MEMCACHED_UNKNOWN_STAT_KEY; // Something went wrong if this happens - } - else if (rc == MEMCACHED_SOME_ERRORS) // Generic answer, we will now find the specific reason (if one exists) + memcached_return_t rc = memcached_server_add(memc_ptr, hostname, port); + if (memcached_success(rc)) { + memcached_stat_st *stat = memcached_stat(memc_ptr, NULL, &rc); + if (memcached_success(rc) and stat and stat->pid != -1) { + pid = stat->pid; + } else if (memcached_success(rc)) { + rc = MEMCACHED_UNKNOWN_STAT_KEY; // Something went wrong if this happens + } else if (rc == MEMCACHED_SOME_ERRORS) // Generic answer, we will now find the specific reason + // (if one exists) { - const memcached_instance_st * instance= - memcached_server_instance_by_position(memc_ptr, 0); + const memcached_instance_st *instance = memcached_server_instance_by_position(memc_ptr, 0); #if 0 assert_msg(instance and instance->error_messages, " "); #endif - if (instance and memcached_server_error(instance)) - { - rc= memcached_server_error_return(instance); + if (instance and memcached_server_error(instance)) { + rc = memcached_server_error_return(instance); } } @@ -155,7 +110,7 @@ pid_t libmemcached_util_getpid2(const char *hostname, in_port_t port, const char } memcached_free(memc_ptr); - *ret= rc; + *ret = rc; return pid; }