diff options
author | Max Kellermann <max@duempel.org> | 2014-12-14 21:16:34 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-12-15 00:45:13 +0100 |
commit | a48704925d6c3e5c01057192403e55f3663b315c (patch) | |
tree | 551f94bfa11da645dc01e61bd38d746383436b87 /src/lib/nfs/Blocking.cxx | |
parent | 68d1abdb851a839fefc55b00eb49eb22a399595b (diff) | |
download | mpd-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.cxx | 7 |
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()) { |