diff options
author | Sander Vrijders <[email protected]> | 2016-06-20 20:57:25 +0200 |
---|---|---|
committer | Sander Vrijders <[email protected]> | 2016-06-20 20:57:25 +0200 |
commit | 16323dcc9df15020e368d4324cf1c1d9dceac805 (patch) | |
tree | c70e36289153d37f4c642b33d5003e5709d788d0 /src/lib/shm_ap_rbuff.c | |
parent | c4d614e041c693d95d1b62d3e33911b53fabf2c2 (diff) | |
download | ouroboros-16323dcc9df15020e368d4324cf1c1d9dceac805.tar.gz ouroboros-16323dcc9df15020e368d4324cf1c1d9dceac805.zip |
build: Change install directories and set correct permissions
This sets the correct install directories for all the binaries,
library and header files. It also sets the right permissions on the
sockets and shared memory so that regular users can also use the
ouroboros library. Root privileges are required to run the irmd.
Fixes #7
Diffstat (limited to 'src/lib/shm_ap_rbuff.c')
-rw-r--r-- | src/lib/shm_ap_rbuff.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/shm_ap_rbuff.c b/src/lib/shm_ap_rbuff.c index a855ed8f..6ee2936c 100644 --- a/src/lib/shm_ap_rbuff.c +++ b/src/lib/shm_ap_rbuff.c @@ -20,10 +20,12 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ouroboros/shm_ap_rbuff.h> +#include <ouroboros/config.h> + #define OUROBOROS_PREFIX "shm_ap_rbuff" #include <ouroboros/logs.h> +#include <ouroboros/shm_ap_rbuff.h> #include <pthread.h> #include <sys/mman.h> @@ -34,6 +36,7 @@ #include <unistd.h> #include <stdbool.h> #include <errno.h> +#include <sys/stat.h> #define SHM_RBUFF_FILE_SIZE (SHM_RBUFF_SIZE * sizeof(struct rb_entry) \ + 2 * sizeof(size_t) + sizeof(pthread_mutex_t) \ @@ -80,6 +83,12 @@ struct shm_ap_rbuff * shm_ap_rbuff_create() return NULL; } + if (fchmod(shm_fd, 0666)) { + LOG_DBGF("Failed to chmod shared memory."); + free(rb); + return NULL; + } + if (lseek(shm_fd, SHM_RBUFF_FILE_SIZE - 1, SEEK_SET) < 0) { LOG_DBGF("Failed to extend ringbuffer."); free(rb); |