aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/nfs/Blocking.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-12-14 21:16:34 +0100
committerMax Kellermann <max@duempel.org>2014-12-15 00:45:13 +0100
commita48704925d6c3e5c01057192403e55f3663b315c (patch)
tree551f94bfa11da645dc01e61bd38d746383436b87 /src/lib/nfs/Blocking.cxx
parent68d1abdb851a839fefc55b00eb49eb22a399595b (diff)
downloadmpd-a48704925d6c3e5c01057192403e55f3663b315c.tar.gz
mpd-a48704925d6c3e5c01057192403e55f3663b315c.tar.xz
mpd-a48704925d6c3e5c01057192403e55f3663b315c.zip
storage/nfs: add timeout
Diffstat (limited to 'src/lib/nfs/Blocking.cxx')
-rw-r--r--src/lib/nfs/Blocking.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/nfs/Blocking.cxx b/src/lib/nfs/Blocking.cxx
index 5f769c408..58eaf6af2 100644
--- a/src/lib/nfs/Blocking.cxx
+++ b/src/lib/nfs/Blocking.cxx
@@ -20,7 +20,9 @@
#include "config.h"
#include "Blocking.hxx"
#include "Connection.hxx"
+#include "Domain.hxx"
#include "event/Call.hxx"
+#include "util/Error.hxx"
bool
BlockingNfsOperation::Run(Error &_error)
@@ -31,7 +33,10 @@ BlockingNfsOperation::Run(Error &_error)
[this](){ connection.AddLease(*this); });
/* wait for completion */
- LockWaitFinished();
+ if (!LockWaitFinished()) {
+ _error.Set(nfs_domain, 0, "Timeout");
+ return false;
+ }
/* check for error */
if (error.IsDefined()) {