summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-12-17 20:22:42 +0100
committerLennart Poettering <lennart@poettering.net>2008-12-17 20:22:42 +0100
commit3f20a152be5b57cb90cd4124cf60c29435cd1662 (patch)
tree1aa72bcf3c907955089e87219865cee4dc7c11c1
parent209a8d7b5546e51ff1a88444c6d6282f6e74301b (diff)
Pass GDBM_NOLOCK to gdbm
gdbm still uses BSD lockf for locking which is incompatible with NFS. Since we don't need the locking here since the db files in question should never be accessed by more than one process since they are per-home-dir and per-machine we can disable locking without any ill results. This should fix rhbz #471279.
-rw-r--r--src/modules/module-device-restore.c2
-rw-r--r--src/modules/module-stream-restore.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/module-device-restore.c b/src/modules/module-device-restore.c
index 86a78810..c0cb0dc5 100644
--- a/src/modules/module-device-restore.c
+++ b/src/modules/module-device-restore.c
@@ -332,7 +332,7 @@ int pa__init(pa_module*m) {
if (!fname)
goto fail;
- if (!(u->gdbm_file = gdbm_open(fname, 0, GDBM_WRCREAT, 0600, NULL))) {
+ if (!(u->gdbm_file = gdbm_open(fname, 0, GDBM_WRCREAT|GDBM_NOLOCK, 0600, NULL))) {
pa_log("Failed to open volume database '%s': %s", fname, gdbm_strerror(gdbm_errno));
pa_xfree(fname);
goto fail;
diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c
index 55897004..fdf69a20 100644
--- a/src/modules/module-stream-restore.c
+++ b/src/modules/module-stream-restore.c
@@ -741,7 +741,7 @@ int pa__init(pa_module*m) {
if (!fname)
goto fail;
- if (!(u->gdbm_file = gdbm_open(fname, 0, GDBM_WRCREAT, 0600, NULL))) {
+ if (!(u->gdbm_file = gdbm_open(fname, 0, GDBM_WRCREAT|GDBM_NOLOCK, 0600, NULL))) {
pa_log("Failed to open volume database '%s': %s", fname, gdbm_strerror(gdbm_errno));
pa_xfree(fname);
goto fail;