summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@ugent.be>2018-04-25 15:46:43 +0200
committerDimitri Staessens <dimitri.staessens@ugent.be>2018-04-25 16:00:01 +0200
commit413064a95645ab569c2adae4e422cc6aefdf8304 (patch)
tree30a2894eb9e26f013a3a49faec7d597ddb3528d1
parenta293799161ef8004b32abc87cd56bb2cfc09d73f (diff)
downloadouroboros-413064a95645ab569c2adae4e422cc6aefdf8304.tar.gz
ouroboros-413064a95645ab569c2adae4e422cc6aefdf8304.zip
lib: Fix bad unlinking of old shared memory
A previous commit tried to stat the shared memory file in case it was already there, but stat does not seem to work for shared memory files. This simply omits the O_EXCL attribute upon creation of the shared memory file, since pids are unique anyway. Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be> Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be>
-rw-r--r--src/lib/shm_flow_set.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/lib/shm_flow_set.c b/src/lib/shm_flow_set.c
index ca3a1a87..d2107fc3 100644
--- a/src/lib/shm_flow_set.c
+++ b/src/lib/shm_flow_set.c
@@ -84,20 +84,16 @@ struct shm_flow_set * shm_flow_set_create()
mode_t mask;
int shm_fd;
int i;
- struct stat st;
sprintf(fn, SHM_FLOW_SET_PREFIX "%d", getpid());
- if (stat(fn, &st) != -1 && unlink(fn))
- return NULL;
-
set = malloc(sizeof(*set));
if (set == NULL)
return NULL;
mask = umask(0);
- shm_fd = shm_open(fn, O_CREAT | O_EXCL | O_RDWR, 0666);
+ shm_fd = shm_open(fn, O_CREAT | O_RDWR, 0666);
if (shm_fd == -1) {
free(set);
return NULL;