scroll_engine: Fix FS#12894: Text scrolling stops working after a few seconds/minutes
Since commit 706b920
a timeout of TIMEOUT_BLOCK (-1) will cause
queue_event_w_tmo() block indefinitely (previously it behaved as
TIMEOUT_NOBLOCK). scroll_process_message() can be called with negative
timeouts, with luck also -1.
To fix this convert all negative timeouts to TIMEOUT_NOBLOCK explicitely.
Change-Id: I1fc20d93acbba50d713c8364f635365930b38cbf
This commit is contained in:
parent
09e655f89d
commit
eafc7012da
1 changed files with 4 additions and 1 deletions
|
@ -79,6 +79,10 @@ static bool scroll_process_message(int delay)
|
||||||
{
|
{
|
||||||
struct queue_event ev;
|
struct queue_event ev;
|
||||||
|
|
||||||
|
/* just poll once for negative delays */
|
||||||
|
if (delay < 0)
|
||||||
|
delay = TIMEOUT_NOBLOCK;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
long tick = current_tick;
|
long tick = current_tick;
|
||||||
|
@ -199,4 +203,3 @@ void scroll_init(void)
|
||||||
IF_PRIO(, PRIORITY_USER_INTERFACE)
|
IF_PRIO(, PRIORITY_USER_INTERFACE)
|
||||||
IF_COP(, CPU));
|
IF_COP(, CPU));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue