diff --git a/fairmq/shmem/Common.h b/fairmq/shmem/Common.h index 45d2dfa0..e304b9fa 100644 --- a/fairmq/shmem/Common.h +++ b/fairmq/shmem/Common.h @@ -12,7 +12,6 @@ #include #include -#include #include #include @@ -113,8 +112,11 @@ struct RegionBlock inline std::string buildShmIdFromSessionIdAndUserId(const std::string& sessionId) { std::string seed((std::to_string(geteuid()) + sessionId)); - std::string shmId = picosha2::hash256_hex_string(seed); - shmId.resize(10, '_'); + // generate a 8-digit hex value out of sha256 hash + std::vector hash(4); + picosha2::hash256(seed.begin(), seed.end(), hash.begin(), hash.end()); + std::string shmId = picosha2::bytes_to_hex_string(hash.begin(), hash.end()); + return shmId; } diff --git a/fairmq/shmem/TransportFactory.h b/fairmq/shmem/TransportFactory.h index 4066a892..3808e6a0 100644 --- a/fairmq/shmem/TransportFactory.h +++ b/fairmq/shmem/TransportFactory.h @@ -57,7 +57,7 @@ class TransportFactory final : public fair::mq::TransportFactory int numIoThreads = 1; std::string sessionName = "default"; - size_t segmentSize = 2000000000; + size_t segmentSize = 2ULL << 30; bool autolaunchMonitor = false; bool throwOnBadAlloc = true; if (config) { @@ -71,6 +71,7 @@ class TransportFactory final : public fair::mq::TransportFactory } fShmId = buildShmIdFromSessionIdAndUserId(sessionName); + LOG(debug) << "Generated shmid '" << fShmId << "' out of session id '" << sessionName << "'."; try { if (zmq_ctx_set(fZMQContext, ZMQ_IO_THREADS, numIoThreads) != 0) {