diff options
Diffstat (limited to 'server.c')
-rw-r--r-- | server.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -565,12 +565,13 @@ server_lock_server(void) continue; if (s->flags & SESSION_UNATTACHED) { - s->activity = time(NULL); + if (gettimeofday(&s->activity_time, NULL) != 0) + fatal("gettimeofday failed"); continue; } timeout = options_get_number(&s->options, "lock-after-time"); - if (timeout <= 0 || t <= s->activity + timeout) + if (timeout <= 0 || t <= s->activity_time.tv_sec + timeout) return; /* not timed out */ } @@ -593,12 +594,13 @@ server_lock_sessions(void) continue; if (s->flags & SESSION_UNATTACHED) { - s->activity = time(NULL); + if (gettimeofday(&s->activity_time, NULL) != 0) + fatal("gettimeofday failed"); continue; } timeout = options_get_number(&s->options, "lock-after-time"); - if (timeout > 0 && t > s->activity + timeout) { + if (timeout > 0 && t > s->activity_time.tv_sec + timeout) { server_lock_session(s); recalculate_sizes(); } |