From 02563a35f0ce4bb5154a68bd568d0263c76ec261 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Sun, 14 Dec 2014 22:48:46 +0100
Subject: [PATCH] lib/nfs/Connection: fix reconnect after mount failure

When mounting had not yet finished, SocketMonitor::IsDefined() was
always false, due to the workaround at the beginning of the function
that calls SocketMonitor::Steal().  This commit drops the IsDefined()
check because it was never necessary and breaks reconnect.
---
 NEWS                       | 1 +
 src/lib/nfs/Connection.cxx | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 6e83245c4..d20dba397 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@ ver 0.19.7 (not yet released)
 * input
   - nfs: fix crash while canceling a failing file open operation
   - nfs: fix memory leak on connection failure
+  - nfs: fix reconnect after mount failure
 * playlist
   - don't skip non-existent songs in "listplaylist"
 * fix memory allocator bug on Windows
diff --git a/src/lib/nfs/Connection.cxx b/src/lib/nfs/Connection.cxx
index e0d8ad774..04c5a9e53 100644
--- a/src/lib/nfs/Connection.cxx
+++ b/src/lib/nfs/Connection.cxx
@@ -483,7 +483,7 @@ NfsConnection::OnSocketReady(unsigned flags)
 
 		DestroyContext();
 		closed = true;
-	} else if (SocketMonitor::IsDefined() && nfs_get_fd(context) < 0) {
+	} else if (nfs_get_fd(context) < 0) {
 		/* this happens when rpc_reconnect_requeue() is called
 		   after the connection broke, but autoreconnect was
 		   disabled - nfs_service() returns 0 */