summaryrefslogtreecommitdiff
path: root/shm
Commit message (Collapse)AuthorAgeFilesLines
* Updated FSF's addressDaniel Mustieles2014-01-312-6/+2
|
* Add missing "config.h" include everywhereRyan Lortie2013-11-241-0/+2
| | | | We ought to be including this from each .c file.
* Use G_LOG_DOMAIN in all library componentsRyan Lortie2013-02-211-1/+1
|
* docs/comments: make some corrections/updatesRyan Lortie2013-02-111-2/+2
| | | | | Many fixes for typos but also some adjustments for the recent refactoring (particularly updating HACKING).
* Add a comment for the previous commitRyan Lortie2012-11-051-0/+3
| | | | Provide a link to the bug with a justification for the unusual code.
* workaround OpenBSD mmap() bugAntoine Jacoutot2012-11-051-1/+1
| | | | | On OpenBSD, mapping descriptors PROT_WRITE without also specifying PROT_READ triggers a segfault.
* massive Makefile reorganisationRyan Lortie2012-07-081-3/+2
| | | | | | | | | | Clean up the Makefiles and make them as similar as possible. Move CFLAGS to a common point of definition and stop using -I so much. Replace the 'dbus stub' with libdconf-mock.a in tests/. Fill in some stubs for future mock code for shm and gvdb (just to get things compiling for now).
* shm/: add inline dconf_shm_is_flagged()Ryan Lortie2012-07-081-0/+6
|
* shm/: make some adjustments after researchRyan Lortie2012-07-081-23/+36
| | | | | | | | | | | | | | | | After doing some research it has been discovered that ftruncate() isn't sufficient for allocating space for a file. It can create a sparse file and you don't find out that the space doesn't exist until you get a SIGBUS later upon trying to write to the mmap region. posix_fallocate() isn't doing quite what we want either (due to a flaky glibc emulation of it when the native syscall is unavailable -- which is the case for tmpfs). Use a workaround based on pwrite() instead. Also: mmap() really can't fail here except in the cases where we would also abort due to g_malloc() failing, so we should just abort too.
* clean up and factor out the 'shm' codeRyan Lortie2012-07-084-0/+186
Remove the shm code from the engine and the service and put it in a separate convenience library in shm/. Remove the vestigial shmdir weirdness from the service (since shmdir is now always relative to XDG_RUNTIME_DIR and has been for some time). The purpose of this is so that dconf-engine can be properly unit-tested. dconf-engine now has five points of contact with the world (excluding the users of the engine themselves): - the DCONF_PROFILE environment variable - fopen() of profile files - shm - gvdb - dbus The environment variable is quite easily controlled. fopen() is intercepted in the engine testcase with a interpose of the libc symbol. With this commit now each of dbus, gvdb and shm are implemented in separate utility modules that can be mocked from the testcases.