From 3f20a152be5b57cb90cd4124cf60c29435cd1662 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 17 Dec 2008 20:22:42 +0100 Subject: 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. --- src/modules/module-device-restore.c | 2 +- src/modules/module-stream-restore.c | 2 +- 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; -- cgit