diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b6f0cd77..d885ea1a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ set (VSOMEIP_COMPAT_NAME vsomeip) set (VSOMEIP_MAJOR_VERSION 3) set (VSOMEIP_MINOR_VERSION 4) set (VSOMEIP_PATCH_VERSION 9) -set (VSOMEIP_HOTFIX_VERSION 0) +set (VSOMEIP_HOTFIX_VERSION 1) set (VSOMEIP_VERSION ${VSOMEIP_MAJOR_VERSION}.${VSOMEIP_MINOR_VERSION}.${VSOMEIP_PATCH_VERSION}) set (PACKAGE_VERSION ${VSOMEIP_VERSION}) # Used in documentation/doxygen.in diff --git a/build_qnx/common.mk b/build_qnx/common.mk index 387937467..12dacf8fc 100644 --- a/build_qnx/common.mk +++ b/build_qnx/common.mk @@ -50,7 +50,8 @@ CMAKE_ARGS = -DCMAKE_TOOLCHAIN_FILE=$(PROJECT_ROOT)/qnx.nto.toolchain.cmake \ -DINSTALL_INCLUDE_DIR=$(VSOMEIP_INSTALL_ROOT)/usr/include \ -DCPUVARDIR=$(CPUVARDIR) \ -DGCC_VER=${GCC_VER} \ - -DVSOMEIP_INSTALL_ROUTINGMANAGERD=ON + -DVSOMEIP_INSTALL_ROUTINGMANAGERD=ON \ + -DDISABLE_DLT=y ifeq ($(GENERATE_TESTS), TRUE) CMAKE_ARGS += -DENABLE_SIGNAL_HANDLING=1 \ diff --git a/implementation/endpoints/src/endpoint_impl.cpp b/implementation/endpoints/src/endpoint_impl.cpp index e2d272a5c..196a22adc 100644 --- a/implementation/endpoints/src/endpoint_impl.cpp +++ b/implementation/endpoints/src/endpoint_impl.cpp @@ -148,9 +148,8 @@ instance_t endpoint_impl::get_instance(service_t _service) { #if defined(__linux__) || defined(__QNX__) #if VSOMEIP_BOOST_VERSION < 106600 template class endpoint_impl; -#else -template class endpoint_impl; #endif +template class endpoint_impl; #endif template class endpoint_impl; diff --git a/implementation/endpoints/src/tcp_server_endpoint_impl.cpp b/implementation/endpoints/src/tcp_server_endpoint_impl.cpp index 434315e40..f83252ae2 100644 --- a/implementation/endpoints/src/tcp_server_endpoint_impl.cpp +++ b/implementation/endpoints/src/tcp_server_endpoint_impl.cpp @@ -141,7 +141,7 @@ bool tcp_server_endpoint_impl::send_error( its_data.queue_size_ += _size; if (!its_data.is_sending_) { // no writing in progress - send_queued(its_target_iterator); + (void)send_queued(its_target_iterator); } ret = true; } @@ -157,6 +157,9 @@ bool tcp_server_endpoint_impl::send_queued(const target_data_iterator_type _it) auto connection_iterator = connections_.find(_it->first); if (connection_iterator != connections_.end()) { its_connection = connection_iterator->second; + if (its_connection) { + its_connection->send_queued(_it); + } } else { VSOMEIP_INFO << "Didn't find connection: " << _it->first.address().to_string() << ":" << std::dec @@ -196,12 +199,11 @@ bool tcp_server_endpoint_impl::send_queued(const target_data_iterator_type _it) } } + // Drop outstanding messages. + _it->second.queue_.clear(); must_erase = true; } } - if (its_connection) { - its_connection->send_queued(_it); - } return (must_erase); }