diff options
author | jhb <jhb@FreeBSD.org> | 2003-02-26 19:21:56 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2003-02-26 19:21:56 +0000 |
commit | caf8c705b393a265c2d8f52d4c113d44b43b7dd0 (patch) | |
tree | b4c79c27e45d139b0897258b20eb41f12f506c08 /sys/dev | |
parent | 789b4b4840730e49ff383ec39433c066d541b4ac (diff) | |
download | FreeBSD-src-caf8c705b393a265c2d8f52d4c113d44b43b7dd0.zip FreeBSD-src-caf8c705b393a265c2d8f52d4c113d44b43b7dd0.tar.gz |
Move an optimization check so that it breaks out of the correct loop.
Basically, as soon as we have run out of events to handle in the swi,
we stop looping through all the channels in a for loop.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/rc/rc.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/dev/rc/rc.c b/sys/dev/rc/rc.c index 672b091..40178ec 100644 --- a/sys/dev/rc/rc.c +++ b/sys/dev/rc/rc.c @@ -818,11 +818,10 @@ done1: ; critical_exit(); (*linesw[tp->t_line].l_start)(tp); } + if (sc->sc_scheduled_event == 0) + break; } - if (sc->sc_scheduled_event == 0) - break; - } - while (sc->sc_scheduled_event >= LOTS_OF_EVENTS); + } while (sc->sc_scheduled_event >= LOTS_OF_EVENTS); } static void |