mirror of https://github.com/tmux/tmux.git
Only redraw all clients once when the backoff timer expires rather than every
second all the time. Reported by Simon Nicolussi.pull/1/head
parent
83af55bed4
commit
ffab22bb35
|
@ -233,8 +233,8 @@ server_unlock(const char *s)
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
wrong:
|
wrong:
|
||||||
password_backoff = server_activity;
|
|
||||||
password_failures++;
|
password_failures++;
|
||||||
|
password_backoff = 0;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
|
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
|
||||||
c = ARRAY_ITEM(&clients, i);
|
c = ARRAY_ITEM(&clients, i);
|
||||||
|
@ -260,7 +260,8 @@ wrong:
|
||||||
}
|
}
|
||||||
failures = password_failures % tries;
|
failures = password_failures % tries;
|
||||||
if (failures > backoff) {
|
if (failures > backoff) {
|
||||||
password_backoff += ((failures - backoff) * tries / 2);
|
password_backoff =
|
||||||
|
server_activity + ((failures - backoff) * tries / 2);
|
||||||
return (-2);
|
return (-2);
|
||||||
}
|
}
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
3
server.c
3
server.c
|
@ -1210,11 +1210,12 @@ server_second_timers(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (t > password_backoff) {
|
if (password_backoff != 0 && t >= password_backoff) {
|
||||||
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
|
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
|
||||||
if ((c = ARRAY_ITEM(&clients, i)) != NULL)
|
if ((c = ARRAY_ITEM(&clients, i)) != NULL)
|
||||||
server_redraw_client(c);
|
server_redraw_client(c);
|
||||||
}
|
}
|
||||||
|
password_backoff = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check for a minute having passed. */
|
/* Check for a minute having passed. */
|
||||||
|
|
Loading…
Reference in New Issue