util: use shm_open for in-memory files

shm_open is a POSIX function creating an in-memory file. Using it simplifies
the code and removes the dependency on XDG_RUNTIME_DIR. The only downside is
that we need to generate a random name for the shm file.
This commit is contained in:
emersion 2018-10-26 18:38:23 +02:00
parent f668e49fae
commit 346ec21c4c
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
8 changed files with 80 additions and 164 deletions

View file

@ -1,9 +0,0 @@
#ifndef UTIL_OS_COMPATIBILITY_H
#define UTIL_OS_COMPATIBILITY_H
int os_fd_set_cloexec(int fd);
int set_cloexec_or_close(int fd);
int create_tmpfile_cloexec(char *tmpname);
int os_create_anonymous_file(off_t size);
#endif

7
include/util/shm.h Normal file
View file

@ -0,0 +1,7 @@
#ifndef UTIL_SHM_H
#define UTIL_SHM_H
int create_shm_file(void);
int allocate_shm_file(size_t size);
#endif