summaryrefslogtreecommitdiff
path: root/source3/client/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/client/client.c')
-rw-r--r--source3/client/client.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/source3/client/client.c b/source3/client/client.c
index 4b7df92877..89fd1d4895 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -5032,9 +5032,13 @@ static void readline_callback(void)
/* Ping the server to keep the connection alive using SMBecho. */
memset(garbage, 0xf0, sizeof(garbage));
status = cli_echo(cli, 1, data_blob_const(garbage, sizeof(garbage)));
- if (!NT_STATUS_IS_OK(status)) {
- DEBUG(0, ("SMBecho failed (%s). Maybe server has closed "
- "the connection\n", nt_errstr(status)));
+ if (NT_STATUS_IS_OK(status)) {
+ return;
+ }
+
+ if (!cli_state_is_connected(cli)) {
+ DEBUG(0,("SMBecho failed (%s). The connection is "
+ "disconnected now\n", nt_errstr(status)));
finished = true;
smb_readline_done();
}