shm: Improve error message when segment cannot be opened

This commit is contained in:
Alexey Rybalchenko 2021-03-17 12:34:24 +01:00
parent c8ad684b18
commit 62438bd99e
2 changed files with 6 additions and 1 deletions

View File

@ -151,7 +151,8 @@ class Manager
<< " Allocation algorithm: " << allocationAlgorithm; << " Allocation algorithm: " << allocationAlgorithm;
LOG(debug) << ss.str(); LOG(debug) << ss.str();
} catch(interprocess_exception& bie) { } catch(interprocess_exception& bie) {
LOG(error) << "something went wrong: " << bie.what(); LOG(error) << "Failed to create/open shared memory segment (" << "fmq_" << fShmId << "_m_" << fSegmentId << "): " << bie.what();
throw std::runtime_error(tools::ToString("Failed to create/open shared memory segment (", "fmq_", fShmId, "_m_", fSegmentId, "): ", bie.what()));
} }
if (mlockSegment) { if (mlockSegment) {

View File

@ -28,6 +28,7 @@
#include <memory> // unique_ptr, make_unique #include <memory> // unique_ptr, make_unique
#include <string> #include <string>
#include <vector> #include <vector>
#include <stdexcept>
namespace fair::mq::shmem namespace fair::mq::shmem
{ {
@ -84,6 +85,9 @@ class TransportFactory final : public fair::mq::TransportFactory
} catch (boost::interprocess::interprocess_exception& e) { } catch (boost::interprocess::interprocess_exception& e) {
LOG(error) << "Could not initialize shared memory transport: " << e.what(); LOG(error) << "Could not initialize shared memory transport: " << e.what();
throw std::runtime_error(tools::ToString("Could not initialize shared memory transport: ", e.what())); throw std::runtime_error(tools::ToString("Could not initialize shared memory transport: ", e.what()));
} catch (const std::exception& e) {
LOG(error) << "Could not initialize shared memory transport: " << e.what();
throw std::runtime_error(tools::ToString("Could not initialize shared memory transport: ", e.what()));
} }
} }