diff options
author | Sander Vrijders <sander.vrijders@ugent.be> | 2018-04-25 15:46:43 +0200 |
---|---|---|
committer | Dimitri Staessens <dimitri.staessens@ugent.be> | 2018-04-25 16:00:01 +0200 |
commit | 413064a95645ab569c2adae4e422cc6aefdf8304 (patch) | |
tree | 30a2894eb9e26f013a3a49faec7d597ddb3528d1 | |
parent | a293799161ef8004b32abc87cd56bb2cfc09d73f (diff) | |
download | ouroboros-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.c | 6 |
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; |