From 4d3d7ff8857866f347eb71875e6598226c6aeb88 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期四, 30 九月 2021 11:35:50 +0800 Subject: [PATCH] do BHFree defer and call BHFree after call sendReply --- src/CMakeLists.txt | 29 +++++++++++++++-------------- 1 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 51184f4..f2ed570 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,6 +5,10 @@ # to the source code configure_file(bus_config.h.in bus_config.h) +set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exported_symbols") +#set_property(TARGET shm_queue PROPERTY POSITION_INDEPENDENT_CODE ON) +add_compile_options(-fPIC) +#target_compile_options(shm_queue PRIVATE -fPIC) list(APPEND _SOURCES_ ./logger_factory.cpp @@ -16,12 +20,16 @@ ./bus_error.cpp ./futex_sem.cpp ./svsem.cpp +./bh_api.cpp ./net/net_conn_pool.cpp ./net/net_mod_server_socket_wrapper.cpp ./net/net_mod_socket_wrapper.cpp ./net/net_mod_socket.cpp ./net/net_mod_socket_io.cpp ./net/net_mod_server_socket.cpp +../proto/source/bhome_msg_api.pb.cc +../proto/source/bhome_msg.pb.cc +../proto/source/error_msg.pb.cc ./shm/shm_mm_wrapper.cpp ./shm/mm.cpp ./shm/hashtable.cpp @@ -31,12 +39,14 @@ if (BUILD_SHARED_LIBS) add_library(shm_queue SHARED ${_SOURCES_}) + target_compile_options(shm_queue PRIVATE -fPIC) + set_property(TARGET shm_queue PROPERTY POSITION_INDEPENDENT_CODE ON) else() add_library(shm_queue STATIC ${_SOURCES_}) endif() # STATIC SHARED -# add_library(shm_queue ${_SOURCES_}) +#add_library(shm_queue ${_SOURCES_}) target_include_directories(shm_queue PUBLIC ${EXTRA_INCLUDES} ) @@ -44,26 +54,16 @@ ${PROJECT_BINARY_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/shm + ${CMAKE_CURRENT_SOURCE_DIR}/proto ${CMAKE_CURRENT_SOURCE_DIR}/queue ${CMAKE_CURRENT_SOURCE_DIR}/socket ${CMAKE_CURRENT_SOURCE_DIR}/net ) +add_executable(bus_proxy_start bus_proxy_start.cpp) +target_link_libraries(bus_proxy_start PRIVATE shm_queue ${EXTRA_LIBS} ) target_link_libraries(shm_queue PUBLIC ${EXTRA_LIBS} ) - - -if (BUILD_SHARED_LIBS) - add_custom_command( - OUTPUT ${PROJECT_BINARY_DIR}/lib/libshm_queue.so.md5 - COMMAND md5sum ${PROJECT_BINARY_DIR}/lib/libshm_queue.so > ${PROJECT_BINARY_DIR}/lib/libshm_queue.so.md5 - DEPENDS ${PROJECT_BINARY_DIR}/lib/libshm_queue.so - COMMENT "Generate libshm_queue.so.md5" - VERBATIM - ) - - add_custom_target("genmd5" ALL DEPENDS ${PROJECT_BINARY_DIR}/lib/libshm_queue.so.md5) -endif() # install rules install(TARGETS shm_queue DESTINATION lib) @@ -83,6 +83,7 @@ ./bus_def.h ./logger_factory.h ./sole.h +./proc_def.h ./queue/linked_lock_free_queue.h ./queue/array_lock_free_queue.h ./queue/shm_queue.h -- Gitblit v1.8.0