aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--platform/linux-generic/odp_shared_memory.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/platform/linux-generic/odp_shared_memory.c b/platform/linux-generic/odp_shared_memory.c
index 568711a16..f432cf92b 100644
--- a/platform/linux-generic/odp_shared_memory.c
+++ b/platform/linux-generic/odp_shared_memory.c
@@ -179,9 +179,15 @@ int odp_shm_free(odp_shm_t shm)
}
if (block->flags & ODP_SHM_PROC || block->flags & _ODP_SHM_PROC_NOCREAT) {
+ int shm_ns_id;
+
+ if (odp_global_data.ipc_ns)
+ shm_ns_id = odp_global_data.ipc_ns;
+ else
+ shm_ns_id = odp_global_data.main_pid;
+
snprintf(shm_devname, SHM_DEVNAME_MAXLEN,
- SHM_DEVNAME_FORMAT, odp_global_data.main_pid,
- block->name);
+ SHM_DEVNAME_FORMAT, shm_ns_id, block->name);
ret = shm_unlink(shm_devname);
if (0 != ret) {
ODP_DBG("odp_shm_free: shm_unlink failed\n");