summaryrefslogtreecommitdiffstats
path: root/src/session.c
diff options
context:
space:
mode:
authorJon Simons <jon@jonsimons.org>2014-02-04 19:04:16 -0800
committerAndreas Schneider <asn@cryptomilk.org>2014-02-06 10:21:57 +0100
commitfa34d117495a9140fdeea78ac0ba66eeb35e6cac (patch)
tree3424465ab75c0f66c0d15dd1ac8e7b9cd69d2cd2 /src/session.c
parent93370d61ba1df61db4d3010f9040ba9c34f57245 (diff)
downloadlibssh-fa34d117495a9140fdeea78ac0ba66eeb35e6cac.tar.gz
libssh-fa34d117495a9140fdeea78ac0ba66eeb35e6cac.tar.xz
libssh-fa34d117495a9140fdeea78ac0ba66eeb35e6cac.zip
session: skip timestamp init for non-blocking case
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/session.c')
-rw-r--r--src/session.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/session.c b/src/session.c
index 9256bbc9..93c047f9 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);