From de80ed87b8339f23624642786698057a62bdf779 Mon Sep 17 00:00:00 2001
From: fujuntang <fujuntang@smartai.com>
Date: 星期二, 23 十一月 2021 11:25:48 +0800
Subject: [PATCH] Fix the communication failure issue when the registered applications exceeds the fixed amount.
---
src/CMakeLists.txt | 91 +++++++++++++++++++++++++++++----------------
1 files changed, 59 insertions(+), 32 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 00b6598..d0c367c 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
@@ -13,23 +17,37 @@
./socket/shm_socket.cpp
./socket/shm_mod_socket.cpp
./time_util.cpp
-./psem.cpp
./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
+./msg_trigger/msg_mgr.cpp
./shm/mm.cpp
./shm/hashtable.cpp
+./shm/shm_mm.cpp
+
)
+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()
-add_library(shm_queue ${_SOURCES_})
+# STATIC SHARED
+#add_library(shm_queue ${_SOURCES_})
target_include_directories(shm_queue PUBLIC ${EXTRA_INCLUDES} )
@@ -37,46 +55,55 @@
${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}/msg_trigger
${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} )
# install rules
-install(TARGETS shm_queue DESTINATION lib)
+install(TARGETS shm_queue DESTINATION lib)
install(FILES
- ./socket/socket_def.h
- ./socket/bus_server_socket.h
- ./socket/shm_socket.h
- ./socket/shm_mod_socket.h
- ./socket/bus_server_socket_wrapper.h
- ./psem.h
- ./key_def.h
- ./time_util.h
- ./futex_sem.h
- ./bus_error.h
- ./bus_def.h
- ./logger_factory.h
- ./queue/linked_lock_free_queue.h
- ./queue/array_lock_free_queue.h
- ./queue/shm_queue.h
- ./queue/array_lock_free_sem_queue.h
- ./queue/lock_free_queue.h
- ./svsem.h
- ./net/net_conn_pool.h
- ./net/net_mod_socket.h
- ./net/net_mod_server_socket_wrapper.h
- ./net/net_mod_socket_io.h
- ./net/net_mod_server_socket.h
- ./net/net_mod_socket_wrapper.h
- ./shm/hashtable.h
- ./shm/mem_pool.h
- ./shm/mm.h
- ./shm/shm_mm_wrapper.h
- ./shm/shm_allocator.h
+ ./socket/socket_def.h
+./socket/bus_server_socket.h
+./socket/shm_socket.h
+./socket/shm_mod_socket.h
+./socket/bus_server_socket_wrapper.h
+./psem.h
+./pread_write_lock.h
+./key_def.h
+./time_util.h
+./sv_read_write_lock.h
+./futex_sem.h
+./bus_error.h
+./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
+./queue/array_lock_free_sem_queue.h
+./queue/lock_free_queue.h
+./svsem.h
+./net/net_conn_pool.h
+./net/net_mod_socket.h
+./net/net_mod_server_socket_wrapper.h
+./net/net_mod_socket_io.h
+./net/net_mod_server_socket.h
+./net/net_mod_socket_wrapper.h
+./shm/hashtable.h
+./shm/mm.h
+./shm/shm_mm_wrapper.h
+./shm/shm_allocator.h
+./shm/shm_mm.h
+
DESTINATION include)
--
Gitblit v1.8.0