|
Lines 288-293
wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, int *maxfdp,
Link Here
|
| 288 |
channel_prepare_select(readsetp, writesetp, maxfdp, nallocp, |
288 |
channel_prepare_select(readsetp, writesetp, maxfdp, nallocp, |
| 289 |
&minwait_secs, 0); |
289 |
&minwait_secs, 0); |
| 290 |
|
290 |
|
|
|
291 |
/* XXX need proper deadline system for rekey/client alive */ |
| 291 |
if (minwait_secs != 0) |
292 |
if (minwait_secs != 0) |
| 292 |
max_time_milliseconds = MIN(max_time_milliseconds, |
293 |
max_time_milliseconds = MIN(max_time_milliseconds, |
| 293 |
(u_int)minwait_secs * 1000); |
294 |
(u_int)minwait_secs * 1000); |
|
Lines 300-310
wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, int *maxfdp,
Link Here
|
| 300 |
* this could be randomized somewhat to make traffic |
301 |
* this could be randomized somewhat to make traffic |
| 301 |
* analysis more difficult, but we're not doing it yet. |
302 |
* analysis more difficult, but we're not doing it yet. |
| 302 |
*/ |
303 |
*/ |
| 303 |
if (compat20 && |
304 |
if (compat20 && options.client_alive_interval) { |
| 304 |
max_time_milliseconds == 0 && options.client_alive_interval) { |
|
|
| 305 |
client_alive_scheduled = 1; |
305 |
client_alive_scheduled = 1; |
| 306 |
max_time_milliseconds = |
306 |
if (max_time_milliseconds == 0 || |
| 307 |
(u_int64_t)options.client_alive_interval * 1000; |
307 |
max_time_milliseconds > |
|
|
308 |
(u_int64_t)options.client_alive_interval * 1000) { |
| 309 |
max_time_milliseconds = |
| 310 |
(u_int64_t)options.client_alive_interval * 1000; |
| 311 |
} |
| 308 |
} |
312 |
} |
| 309 |
|
313 |
|
| 310 |
if (compat20) { |
314 |
if (compat20) { |