diff --git a/CMakeLists.txt b/CMakeLists.txt index 670ec86c4a242e3afe5f0609c257488929b60e47..b054f6a157867535f48579f83b5752d7f4a9022d 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,8 +22,6 @@ file(GLOB DAP_SERVER_CORE_HEADERS include/*.h) if(WIN32) include_directories(../libdap/src/win32/) - include_directories(../3rdparty/libmemcached/) - include_directories(../3rdparty/libmemcached/win32/) include_directories(../3rdparty/wepoll/include/) include_directories(../3rdparty/uthash/src/) include_directories(../3rdparty/libjson-c/) @@ -37,7 +35,12 @@ if(WIN32) endif() if(UNIX) - target_link_libraries(${PROJECT_NAME} dap_core dap_crypto pthread memcached ev) + target_link_libraries(${PROJECT_NAME} dap_core dap_crypto ev) + + if(NOT ANDROID) + target_link_libraries(${PROJECT_NAME} pthread) + endif() + endif() target_include_directories(${PROJECT_NAME} PUBLIC include) diff --git a/include/dap_memcached.h b/include/dap_memcached.h deleted file mode 100755 index 98041c9147ac1b5dd0f0f48c34ecfea6ddaaaede..0000000000000000000000000000000000000000 --- a/include/dap_memcached.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include <stdint.h> -#include <stdbool.h> - -#include "dap_common.h" - -/** - * @brief dap_memcached_init - * @param server_host - * @param port - * @return - */ -int dap_memcached_init(const char *server_host, uint16_t port); - -/** - * @brief is_dap_memcache_enable - * @return - */ -bool dap_memcache_is_enable(void); - -/** - * @brief dap_memcached_deinit - */ -void dap_memcached_deinit(void); - -/** - * @brief dap_memcache_put - * @param key - * @param value - * @param value_size - * @param expiration if 0 value is never expire - * @return - */ -bool dap_memcache_put(const char* key, void *value, size_t value_size, time_t expiration); - -/** - * @brief dap_memcache_get - * @param key - * @return true if key found - */ -bool dap_memcache_get(const char* key, size_t * value_size, void ** result); - -/** - * @brief dap_memcache_delete - * @param key - * @return - */ -bool dap_memcache_delete(const char* key); diff --git a/src/dap_events.c b/src/dap_events.c index 4de70b8e5b3a1e6f809e0831848bb5f6e27f8ba6..fbb50f167eb40ea0842a0315fdba2444e539b533 100755 --- a/src/dap_events.c +++ b/src/dap_events.c @@ -280,19 +280,25 @@ static void *thread_worker_function( void *arg ) time_t next_time_timeout_check = time( NULL ) + s_connection_timeout / 2; uint32_t tn = w->number_thread; - #ifndef _WIN32 - #ifndef NO_POSIX_SHED +#ifndef _WIN32 +#ifndef NO_POSIX_SHED cpu_set_t mask; CPU_ZERO( &mask ); CPU_SET( tn, &mask ); - if ( pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &mask) != 0 ) + int err; +#ifndef __ANDROID__ + err = pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &mask); +#else + err = sched_setaffinity(pthread_self(), sizeof(cpu_set_t), &mask); +#endif + if (err) { log_it(L_CRITICAL, "Error pthread_setaffinity_np() You really have %d or more core in CPU?", *(int*)arg); abort(); } - #endif - #else +#endif +#else if ( !SetThreadAffinityMask( GetCurrentThread(), (DWORD_PTR)(1 << tn) ) ) { log_it( L_CRITICAL, "Error pthread_setaffinity_np() You really have %d or more core in CPU?", tn ); diff --git a/src/dap_memcached.c b/src/dap_memcached.c deleted file mode 100755 index 746d63ad1a1fff5245a82ca1d40ac31c99b5a7d8..0000000000000000000000000000000000000000 --- a/src/dap_memcached.c +++ /dev/null @@ -1,84 +0,0 @@ - -#ifdef _WIN32 -#undef _WIN32_WINNT -#define _WIN32_WINNT 0x0600 -#include <winsock2.h> -#include <windows.h> -#include <mswsock.h> -#include <ws2tcpip.h> -#include <io.h> -#include <wepoll.h> -#include <pthread.h> - -#endif - -#include "dap_memcached.h" - -#include <libmemcached/memcached.h> - -#define LOG_TAG "dap_memcached" - -static memcached_st *_memc; -static bool _is_module_enable = false; - -int dap_memcached_init(const char *server_host, uint16_t port) -{ - memcached_return rc; - memcached_server_st *servers = NULL; - - char *test_key = "test_key"; - char *test_value = "test_value"; - - _memc = memcached_create(NULL); - - servers= memcached_server_list_append(servers, server_host, port, &rc); - rc= memcached_server_push(_memc, servers); - - if (rc != MEMCACHED_SUCCESS) { - log_it(L_ERROR, "Couldn't add server: %s", memcached_strerror(_memc, rc)); - return -1; - } - - if(dap_memcache_put(test_key, test_value, strlen(test_value), 0) != true) { - return -2; - } - - _is_module_enable = true; - return 0; -} - -bool dap_memcache_is_enable() -{ - return _is_module_enable; -} - -bool dap_memcache_put(const char* key, void *value, size_t value_size, time_t expiration) -{ - memcached_return rc; - rc = memcached_set(_memc, key, strlen(key), value, value_size, expiration, (uint32_t)0); - if (rc != MEMCACHED_SUCCESS) { - log_it(L_ERROR, "%s", memcached_strerror(_memc, rc)); - return false; - } - return true; -} - -bool dap_memcache_get(const char* key, size_t * value_size, void ** result) -{ - memcached_return rc; - *result = memcached_get(_memc, key, strlen(key), value_size, NULL, &rc); - return rc == MEMCACHED_SUCCESS; -} - -bool dap_memcache_delete(const char* key) -{ - return memcached_delete(_memc, key, strlen(key), 0) == MEMCACHED_SUCCESS; -} - -/** - * @brief dap_memcached_deinit - */ -void dap_memcached_deinit() -{ - _is_module_enable = false; -} diff --git a/src/dap_server.c b/src/dap_server.c index eb9321f09b634c878fe2b385b6025727785d068a..0ba01d727a34d6b43e42c0868b9d6c02a49317dc 100755 --- a/src/dap_server.c +++ b/src/dap_server.c @@ -597,7 +597,13 @@ void *thread_loop( void *arg ) CPU_ZERO( &mask ); CPU_SET( tn, &mask ); - if ( pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &mask) != 0 ) { + int err; +#ifndef ANDROID + err = pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &mask); +#else + err = sched_setaffinity(pthread_self(), sizeof(cpu_set_t), &mask); +#endif + if (err) { log_it( L_CRITICAL, "Error pthread_setaffinity_np() You really have %d or more core in CPU?", tn ); abort(); }