aboutsummaryrefslogtreecommitdiff
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 11:13:22 +0100
commitfb49e194df184b11f5ece934308b629b49f572b7 (patch)
tree24b87213fc209fa2d792a50910877ebe86cd8394
parent13f4e31ad1c83045635417ee7c58fdf384a1bb97 (diff)
downloadlibssh-fb49e194df184b11f5ece934308b629b49f572b7.tar.gz
libssh-fb49e194df184b11f5ece934308b629b49f572b7.tar.xz
libssh-fb49e194df184b11f5ece934308b629b49f572b7.zip
session: skip timestamp init for non-blocking case
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
-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);