mirror of
https://github.com/tmux/tmux.git
synced 2025-04-27 07:28:49 +00:00
Sync OpenBSD patchset 316:
Only redraw all clients once when the backoff timer expires rather than every second all the time. Reported by Simon Nicolussi.
This commit is contained in:
parent
02c4760ace
commit
bb2d57dcbf
@ -1,4 +1,4 @@
|
|||||||
/* $Id: server-fn.c,v 1.85 2009-09-03 20:54:39 tcunha Exp $ */
|
/* $Id: server-fn.c,v 1.86 2009-09-05 19:03:41 tcunha Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -234,8 +234,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);
|
||||||
@ -266,7 +266,8 @@ wrong:
|
|||||||
#endif
|
#endif
|
||||||
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);
|
||||||
|
5
server.c
5
server.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: server.c,v 1.179 2009-09-04 20:27:06 tcunha Exp $ */
|
/* $Id: server.c,v 1.180 2009-09-05 19:03:41 tcunha Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -1213,11 +1213,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
Block a user