aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/session.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/session.c b/src/session.c
index 01b540f6..fb967aef 100644
--- a/src/session.c
+++ b/src/session.c
@@ -599,7 +599,11 @@ int ssh_handle_packets_termination(ssh_session session,
}
}
- ssh_timestamp_init(&ts);
+ /* avoid unnecessary syscall for the SSH_TIMEOUT_NONBLOCKING case */
+ if (timeout != SSH_TIMEOUT_NONBLOCKING) {
+ ssh_timestamp_init(&ts);
+ }
+
tm = timeout;
while(!fct(user)) {
ret = ssh_handle_packets(session, tm);