Skip to content

Commit

Permalink
Merge pull request #1505 from eclipse-iceoryx/integration-release-2-0-3
Browse files Browse the repository at this point in the history
iox-#1504 Integration branch for iceoryx v2.0.3 release
  • Loading branch information
mossmaurice authored Jan 30, 2023
2 parents f756b7c + 896be65 commit 40ef24e
Show file tree
Hide file tree
Showing 23 changed files with 158 additions and 95 deletions.
13 changes: 8 additions & 5 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
push:
branches: [ master ]
pull_request:
branches: [ master, release* ]
branches: [ master, release*, integration* ]

jobs:
pre-flight-check:
Expand Down Expand Up @@ -35,19 +35,22 @@ jobs:
# prevent stuck jobs consuming macos runners for 6 hours
timeout-minutes: 60
needs: pre-flight-check
runs-on: macos-10.15
runs-on: macos-12
steps:
- uses: actions/checkout@v2
with:
ref: 'master'
- name: Unix (FreeBSD) test
id: Test
uses: vmactions/freebsd-vm@v0.1.6
uses: vmactions/freebsd-vm@v0
with:
usesh: true
mem: 2048
copyback: false
mem: 4096
prepare: pkg install -y cmake git ncurses bash wget bison
run: ./tools/ci/build-test-freebsd.sh
run: |
git config --global --add safe.directory /Users/runner/work/iceoryx/iceoryx
./tools/ci/build-test-freebsd.sh
build-test-windows:
runs-on: windows-2019
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.0.2
2.0.3
2 changes: 1 addition & 1 deletion cmake/package/package.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
# SPDX-License-Identifier: Apache-2.0
cmake_minimum_required(VERSION 3.16)
set(IOX_VERSION_STRING "2.0.2")
set(IOX_VERSION_STRING "2.0.3")

project(iceoryx_package VERSION ${IOX_VERSION_STRING})

Expand Down
2 changes: 1 addition & 1 deletion doc/aspice_swe3_4/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

cmake_minimum_required(VERSION 3.16)

set(IOX_VERSION_STRING "2.0.2")
set(IOX_VERSION_STRING "2.0.3")

project(iceoryx_doc VERSION ${IOX_VERSION_STRING})

Expand Down
4 changes: 3 additions & 1 deletion doc/aspice_swe3_4/example/iceoryx_component/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ find_package(iceoryx_hoofs REQUIRED)

include(IceoryxPlatform)

set(PREFIX iceoryx/v${CMAKE_PROJECT_VERSION})

#
########## lib ##########
#
Expand Down Expand Up @@ -84,7 +86,7 @@ target_include_directories(${PROJECT_PREFIX}_moduletests PRIVATE . source/exampl
# TODO: fix conversion warnings
target_compile_options(${PROJECT_PREFIX}_moduletests PRIVATE ${TEST_CXX_FLAGS})
target_link_libraries(${PROJECT_PREFIX}_moduletests ${TEST_LINK_LIBS})
set_target_properties(${PROJECT_PREFIX}_moduletests PROPERTIES
set_target_properties(${PROJECT_PREFIX}_moduletests PROPERTIES
CXX_STANDARD_REQUIRED ON
CXX_STANDARD ${ICEORYX_CXX_STANDARD}
POSITION_INDEPENDENT_CODE ON
Expand Down
1 change: 1 addition & 0 deletions doc/website/release-notes/.pages
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
nav:
- iceoryx-v2-0-3.md
- iceoryx-v2-0-2.md
- iceoryx-v2-0-1.md
- iceoryx-v2-0-0.md
Expand Down
13 changes: 13 additions & 0 deletions doc/website/release-notes/iceoryx-v2-0-3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# iceoryx v2.0.3

## [v2.0.3](https://github.com/eclipse-iceoryx/iceoryx/tree/v2.0.2) (tbd)

[Full Changelog](https://github.com/eclipse-iceoryx/iceoryx/compare/v2.0.2...v2.0.3)

**Bugfixes:**

- Build error on certain versions of Windows/Visual Studio [\#1476](https://github.com/eclipse-iceoryx/iceoryx/issues/1476)
- Fix FileLock leak when lock failed [\#1440](https://github.com/eclipse-iceoryx/iceoryx/issues/1440)
- Fix INTERFACE_INCLUDE_DIRECTORIES in CMake [\#1481](https://github.com/eclipse-iceoryx/iceoryx/issues/1481)
- `m_originId` in `mepoo::ChunkHeader` sometimes not set [\#1668](https://github.com/eclipse-iceoryx/iceoryx/issues/1668)
- `WaitSet::wait` returns if data was send before `WaitSet::attachState(.., State::HAS_{DATA, REQUEST, RESPONSE})` [\#1855](https://github.com/eclipse-iceoryx/iceoryx/issues/1855)
17 changes: 2 additions & 15 deletions iceoryx_binding_c/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# SPDX-License-Identifier: Apache-2.0
cmake_minimum_required(VERSION 3.16)

set(IOX_VERSION_STRING "2.0.2")
set(IOX_VERSION_STRING "2.0.3")



Expand All @@ -34,20 +34,7 @@ if(CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME MATCHES Darwin)
option(BUILD_SHARED_LIBS "Create shared libraries by default" ON)
endif()

option(MAKE_UNIQUE_INCLUDEDIR
"When ON headers are installed to a path ending with folders called \
iceoryx/vX.Y.Z/ . This avoids include directory search order issues when \
overriding this package from a merged catkin, ament, or colcon workspace."
ON)

if(MAKE_UNIQUE_INCLUDEDIR)
set(_unique_dir "iceoryx/v${IOX_VERSION_STRING}")
if(PREFIX STREQUAL "")
set(PREFIX "${_unique_dir}")
else()
set(PREFIX "${PREFIX}/${_unique_dir}")
endif()
endif()
set(PREFIX iceoryx/v${CMAKE_PROJECT_VERSION})

#
########## set variables for export ##########
Expand Down
2 changes: 1 addition & 1 deletion iceoryx_binding_c/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>iceoryx_binding_c</name>
<version>2.0.2</version>
<version>2.0.3</version>
<description>Eclipse iceoryx inter-process-communication (IPC) middleware C-Language Binding</description>
<maintainer email="[email protected]">Eclipse Foundation, Inc.</maintainer>
<license>Apache 2.0</license>
Expand Down
17 changes: 2 additions & 15 deletions iceoryx_dds/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# SPDX-License-Identifier: Apache-2.0
cmake_minimum_required(VERSION 3.16)

set(IOX_VERSION_STRING "2.0.2")
set(IOX_VERSION_STRING "2.0.3")

project(iceoryx_dds VERSION ${IOX_VERSION_STRING})

Expand All @@ -32,20 +32,7 @@ find_package(iceoryx_posh REQUIRED)
include(IceoryxPackageHelper)
include(IceoryxPlatform)

option(MAKE_UNIQUE_INCLUDEDIR
"When ON headers are installed to a path ending with folders called \
iceoryx/vX.Y.Z/ . This avoids include directory search order issues when \
overriding this package from a merged catkin, ament, or colcon workspace."
ON)

if(MAKE_UNIQUE_INCLUDEDIR)
set(_unique_dir "iceoryx/v${IOX_VERSION_STRING}")
if(PREFIX STREQUAL "")
set(PREFIX "${_unique_dir}")
else()
set(PREFIX "${PREFIX}/${_unique_dir}")
endif()
endif()
set(PREFIX iceoryx/v${CMAKE_PROJECT_VERSION})

if(CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME MATCHES Darwin)
option(BUILD_SHARED_LIBS "Create shared libraries by default" ON)
Expand Down
17 changes: 2 additions & 15 deletions iceoryx_hoofs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

cmake_minimum_required(VERSION 3.16)

set(IOX_VERSION_STRING "2.0.2")
set(IOX_VERSION_STRING "2.0.3")

project(iceoryx_hoofs VERSION ${IOX_VERSION_STRING})

Expand All @@ -28,20 +28,7 @@ if(CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME MATCHES Darwin)
option(BUILD_SHARED_LIBS "Create shared libraries by default" ON)
endif()

option(MAKE_UNIQUE_INCLUDEDIR
"When ON headers are installed to a path ending with folders called \
iceoryx/vX.Y.Z/ . This avoids include directory search order issues when \
overriding this package from a merged catkin, ament, or colcon workspace."
ON)

if(MAKE_UNIQUE_INCLUDEDIR)
set(_unique_dir "iceoryx/v${IOX_VERSION_STRING}")
if(PREFIX STREQUAL "")
set(PREFIX "${_unique_dir}")
else()
set(PREFIX "${PREFIX}/${_unique_dir}")
endif()
endif()
set(PREFIX iceoryx/v${CMAKE_PROJECT_VERSION})

if(CLANG_TIDY)
find_program(
Expand Down
2 changes: 1 addition & 1 deletion iceoryx_hoofs/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>iceoryx_hoofs</name>
<version>2.0.2</version>
<version>2.0.3</version>
<description>Eclipse iceoryx inter-process-communication (IPC) middleware basic building blocks</description>
<maintainer email="[email protected]">Eclipse Foundation, Inc.</maintainer>
<license>Apache 2.0</license>
Expand Down
7 changes: 5 additions & 2 deletions iceoryx_hoofs/source/posix_wrapper/file_lock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,15 @@ cxx::expected<FileLockError> FileLock::initializeFileLock() noexcept

if (lockCall.has_error())
{
closeFileDescriptor().or_else([](auto) {
std::cerr << "Unable to close file lock in error related cleanup during initialization." << std::endl;
posixCall(iox_close)(m_fd).failureReturnValue(ERROR_CODE).evaluate().or_else([&](auto& result) {
IOX_DISCARD_RESULT(this->convertErrnoToFileLockError(result.errnum));
std::cerr << "Unable to close the file handle to the file lock \"" << m_fileLockPath << "\"" << std::endl;
});

// possible errors in closeFileDescriptor() are masked and we inform the user about the actual error
return cxx::error<FileLockError>(convertErrnoToFileLockError(lockCall.get_error().errnum));
}
m_isInitialized = true;

return cxx::success<>();
}
Expand Down
2 changes: 1 addition & 1 deletion iceoryx_integrationtest/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>iceoryx_integrationtest</name>
<version>2.0.2</version>
<version>2.0.3</version>
<description>iceoryx Software Integrationtest</description>
<maintainer email="[email protected]">Eclipse Foundation, Inc.</maintainer>
<license>Apache 2.0</license>
Expand Down
17 changes: 2 additions & 15 deletions iceoryx_posh/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# SPDX-License-Identifier: Apache-2.0
cmake_minimum_required(VERSION 3.16)

set(IOX_VERSION_STRING "2.0.2")
set(IOX_VERSION_STRING "2.0.3")

project(iceoryx_posh VERSION ${IOX_VERSION_STRING})

Expand Down Expand Up @@ -44,20 +44,7 @@ if(CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME MATCHES Darwin)
option(BUILD_SHARED_LIBS "Create shared libraries by default" ON)
endif()

option(MAKE_UNIQUE_INCLUDEDIR
"When ON headers are installed to a path ending with folders called \
iceoryx/vX.Y.Z/ . This avoids include directory search order issues when \
overriding this package from a merged catkin, ament, or colcon workspace."
ON)

if(MAKE_UNIQUE_INCLUDEDIR)
set(_unique_dir "iceoryx/v${IOX_VERSION_STRING}")
if(PREFIX STREQUAL "")
set(PREFIX "${_unique_dir}")
else()
set(PREFIX "${PREFIX}/${_unique_dir}")
endif()
endif()
set(PREFIX iceoryx/v${CMAKE_PROJECT_VERSION})

include(cmake/iceoryxversions.cmake)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Copyright (c) 2020 by Robert Bosch GmbH. All rights reserved.
// Copyright (c) 2021 - 2022 by Apex.AI Inc. All rights reserved.
// Copyright (c) 2022 by NXP. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -128,6 +129,7 @@ ChunkSender<ChunkSenderDataType>::tryAllocate(const UniquePortId originId,
auto chunkSize = lastChunkChunkHeader->chunkSize();
lastChunkChunkHeader->~ChunkHeader();
new (lastChunkChunkHeader) mepoo::ChunkHeader(chunkSize, chunkSettings);
lastChunkChunkHeader->setOriginId(originId);
return cxx::success<mepoo::ChunkHeader*>(lastChunkChunkHeader);
}
else
Expand Down
14 changes: 14 additions & 0 deletions iceoryx_posh/include/iceoryx_posh/internal/popo/wait_set.inl
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
#ifndef IOX_POSH_POPO_WAIT_SET_INL
#define IOX_POSH_POPO_WAIT_SET_INL

#include "iceoryx_posh/popo/wait_set.hpp"

namespace iox
{
namespace popo
Expand Down Expand Up @@ -184,6 +186,12 @@ WaitSet<Capacity>::attachState(T& stateOrigin,
stateOrigin,
TriggerHandle(*m_conditionVariableDataPtr, {*this, &WaitSet::removeTrigger}, uniqueId),
stateType);

auto& trigger = m_triggerArray[uniqueId];
if (trigger->isStateConditionSatisfied())
{
ConditionNotifier(*m_conditionVariableDataPtr, uniqueId).notify();
}
});
}

Expand All @@ -210,6 +218,12 @@ inline cxx::expected<WaitSetError> WaitSet<Capacity>::attachState(
.and_then([&](auto& uniqueId) {
NotificationAttorney::enableState(
stateOrigin, TriggerHandle(*m_conditionVariableDataPtr, {*this, &WaitSet::removeTrigger}, uniqueId));

auto& trigger = m_triggerArray[uniqueId];
if (trigger->isStateConditionSatisfied())
{
ConditionNotifier(*m_conditionVariableDataPtr, uniqueId).notify();
}
});
}

Expand Down
2 changes: 1 addition & 1 deletion iceoryx_posh/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>iceoryx_posh</name>
<version>2.0.2</version>
<version>2.0.3</version>
<description>Eclipse iceoryx inter-process-communication (IPC) middleware Posix Shared Memory Library and middleware daemon (RouDi)</description>
<maintainer email="[email protected]">Eclipse Foundation, Inc.</maintainer>
<license>Apache 2.0</license>
Expand Down
2 changes: 1 addition & 1 deletion iceoryx_posh/source/roudi/process_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ void ProcessManager::evaluateKillError(const Process& process,
{
LogWarn() << "Process ID " << process.getPid() << " named '" << process.getName()
<< "' could not be killed with"
<< (shutdownPolicy == ShutdownPolicy::SIG_KILL ? "SIGKILL" : "SIGTERM") << " for unknown reason: "
<< (shutdownPolicy == ShutdownPolicy::SIG_KILL ? "SIGKILL" : "SIGTERM") << " for unknown reason: '"
<< errorString << "'";
errorHandler(Error::kPOSH__ROUDI_PROCESS_SHUTDOWN_FAILED, nullptr, ErrorLevel::SEVERE);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// Copyright (c) 2021 - 2022 by Apex.AI Inc. All rights reserved.
// Copyright (c) 2022 by NXP. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -711,4 +712,33 @@ TEST_F(PublisherSubscriberCommunication_test, MixedOptionsSetupWorksWithBlocking
EXPECT_THAT(subscriberNonBlocking->take().has_error(), Eq(true));
}

TEST_F(PublisherSubscriberCommunication_test, PublisherUniqueIdMatchesReceivedSample)
{
::testing::Test::RecordProperty("TEST_ID", "decbfcdd-778f-4e18-b6a8-395d400fdd80");

auto publisher = createPublisher<int>();
this->InterOpWait();
auto subscriber = createSubscriber<int>();
this->InterOpWait();

const auto uid = publisher->getUid();

for (int i = 0; i < 10; ++i)
{
ASSERT_FALSE(publisher->loan()
.and_then([&](auto& sample) {
*sample = i;
sample.publish();
})
.has_error());

EXPECT_FALSE(subscriber->take()
.and_then([&](auto& sample) {
EXPECT_THAT(*sample, Eq(i));
EXPECT_THAT(sample.getChunkHeader()->originId(), Eq(uid));
})
.has_error());
}
}

} // namespace
Loading

0 comments on commit 40ef24e

Please sign in to comment.