diff options
Diffstat (limited to 'src/libstore/remote-store.cc')
-rw-r--r-- | src/libstore/remote-store.cc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc index 2ce047acd..2373bbdc7 100644 --- a/src/libstore/remote-store.cc +++ b/src/libstore/remote-store.cc @@ -39,7 +39,9 @@ RemoteStore::RemoteStore(const Params & params) }, [this](const ref<Connection> & r) { return - std::chrono::duration_cast<std::chrono::seconds>( + r->to.good() + && r->from.good() + && std::chrono::duration_cast<std::chrono::seconds>( std::chrono::steady_clock::now() - r->startTime).count() < maxConnectionAge; } )) @@ -178,10 +180,6 @@ void RemoteStore::ConnectionHandle::processStderr(Sink * sink, Source * source, m.find("Derive([") != std::string::npos) throw Error("%s, this might be because the daemon is too old to understand dependencies on dynamic derivations. Check to see if the raw derivation is in the form '%s'", std::move(m), "DrvWithVersion(..)"); } - // the daemon can still handle more requests, so the connection itself - // is still valid. the current *handle* however should be considered a - // lost cause and abandoned entirely. - handle.release(); throw; } } |