diff options
author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-09-08 10:26:04 +0200 |
---|---|---|
committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-09-08 10:26:04 +0200 |
commit | 2e561a634ae3e747b293a4e05eaf44726968dc1a (patch) | |
tree | 7bb1e6ab8131d1d679f5a5bb5e5953e4a60d3986 | |
parent | b9793ab68aa321b0dac14d1dff5789edb95ad0bb (diff) | |
download | ouroboros-2e561a634ae3e747b293a4e05eaf44726968dc1a.tar.gz ouroboros-2e561a634ae3e747b293a4e05eaf44726968dc1a.zip |
lib: Fix shm for evil devices
Cupertino's finest don't seem to support a write call with a
filedescriptor that points to a shared memory file. ENOTSUP is not
mentioned in their manpage either. Classic.
-rw-r--r-- | src/lib/lockfile.c | 4 | ||||
-rw-r--r-- | src/lib/shm_ap_rbuff.c | 4 | ||||
-rw-r--r-- | src/lib/shm_rdrbuff.c | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/lockfile.c b/src/lib/lockfile.c index 81bed687..04ce9324 100644 --- a/src/lib/lockfile.c +++ b/src/lib/lockfile.c @@ -64,13 +64,13 @@ struct lockfile * lockfile_create() { free(lf); return NULL; } - +#ifndef __APPLE__ if (write(lf->fd, "", 1) != 1) { LOG_DBGF("Failed to finalise lockfile."); free(lf); return NULL; } - +#endif lf->api = mmap(NULL, LF_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, diff --git a/src/lib/shm_ap_rbuff.c b/src/lib/shm_ap_rbuff.c index 473894d5..d9e332fe 100644 --- a/src/lib/shm_ap_rbuff.c +++ b/src/lib/shm_ap_rbuff.c @@ -104,13 +104,13 @@ static struct shm_ap_rbuff * shm_ap_rbuff_create(bool dir) free(rb); return NULL; } - +#ifndef __APPLE__ if (write(shm_fd, "", 1) != 1) { LOG_DBG("Failed to finalise extension of ringbuffer."); free(rb); return NULL; } - +#endif shm_base = mmap(NULL, SHM_RBUFF_FILE_SIZE, PROT_READ | PROT_WRITE, diff --git a/src/lib/shm_rdrbuff.c b/src/lib/shm_rdrbuff.c index 7c4927fc..bf5c7f16 100644 --- a/src/lib/shm_rdrbuff.c +++ b/src/lib/shm_rdrbuff.c @@ -190,14 +190,14 @@ struct shm_rdrbuff * shm_rdrbuff_create() free(rdrb); return NULL; } - +#ifndef __APPLE if (write(shm_fd, "", 1) != 1) { LOG_DBGF("Failed to finalise extension of shared memory map."); free(shm_rdrb_fn); free(rdrb); return NULL; } - +#endif shm_base = mmap(NULL, SHM_FILE_SIZE, PROT_READ | PROT_WRITE, |