From 01d80ec3c7b68977d1c47ac3400d5a875350b029 Mon Sep 17 00:00:00 2001 From: Leonard den Ottolander Date: Sat, 12 Aug 2006 10:06:22 +0000 Subject: [PATCH] * key.c (check_selects): Initialize retry to FALSE every time we enter the do/while loop (bug introduced when incorrectly rewriting the backward goto used by the original submitter). --- src/ChangeLog | 6 ++++++ src/key.c | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 8c087e21c..ac68abcf3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2006-08-12 Leonard den Ottolander + + * key.c (check_selects): Initialize retry to FALSE every time we enter + the do/while loop (bug introduced when incorrectly rewriting the + backward goto used by the original submitter). + 2006-08-11 Mikulas Patocka * key.c (check_selects): Fix possible crash on reference to select list diff --git a/src/key.c b/src/key.c index a80d18e5e..33db948a9 100644 --- a/src/key.c +++ b/src/key.c @@ -179,12 +179,13 @@ inline static int add_selects (fd_set *select_set) static void check_selects (fd_set *select_set) { SelectList *p; - gboolean retry = FALSE; + gboolean retry; if (disabled_channels) return; - do + do { + retry = FALSE; for (p = select_list; p; p = p->next) if (FD_ISSET (p->fd, select_set)) { FD_CLR (p->fd, select_set); @@ -193,7 +194,7 @@ static void check_selects (fd_set *select_set) break; } else retry = FALSE; - while (retry); + } while (retry); } void channels_down (void)