diff --git a/CMakeLists.txt b/CMakeLists.txt index 079ae9e4..de871059 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -75,11 +75,15 @@ option(INTROSPECTION "Build with introspection" OFF) option(TESTS "Build tests and perform their before install step" ${PIP_BUILD_DEBUG}) option(COVERAGE "Build project with coverage info" OFF) set(PIP_UTILS 1) -set(BUILDING_pip 1 PARENT_SCOPE) -set(pip_ROOT_SRC "${CMAKE_CURRENT_SOURCE_DIR}" PARENT_SCOPE) set(CMAKE_CXX_STANDARD_REQUIRED TRUE) set(CMAKE_CXX_STANDARD 11) +shstk_is_parent_exists(_pe) +if (_pe) + set(BUILDING_pip 1 PARENT_SCOPE) + set(pip_ROOT_SRC "${CMAKE_CURRENT_SOURCE_DIR}" PARENT_SCOPE) +endif() + # Basic set(PIP_MODULES) diff --git a/libs/client_server/piclientserver_client_base.cpp b/libs/client_server/piclientserver_client_base.cpp index faa99b97..ceb09a16 100644 --- a/libs/client_server/piclientserver_client_base.cpp +++ b/libs/client_server/piclientserver_client_base.cpp @@ -80,8 +80,9 @@ void PIClientServer::ClientBase::init() { void PIClientServer::ClientBase::destroy() { - can_write = false; write_mutex.lock(); + close(); piDeleteSafety(tcp); + write_mutex.unlock(); // piCout << "Destroyed"; } diff --git a/libs/io_utils/pistreampacker.cpp b/libs/io_utils/pistreampacker.cpp index 3df49296..5ab536a0 100644 --- a/libs/io_utils/pistreampacker.cpp +++ b/libs/io_utils/pistreampacker.cpp @@ -120,6 +120,7 @@ void PIStreamPacker::send(const PIByteArray & data) { void PIStreamPacker::received(const uchar * readed, ssize_t size) { + if (size <= 0) return; received(PIByteArray(readed, size)); }