diff options
author | Jörg Hohensohn <hohensoh@rockbox.org> | 2003-04-19 13:15:33 +0000 |
---|---|---|
committer | Jörg Hohensohn <hohensoh@rockbox.org> | 2003-04-19 13:15:33 +0000 |
commit | c6fb565dd98d2da0cd5ba0e29b73c49617edcb9c (patch) | |
tree | 44ab870d30d5f5872a4bb35d49936185296616e3 /uisimulator/win32/kernel.c | |
parent | 6d522179dcbba409768a02845237967f39264e85 (diff) | |
download | rockbox-c6fb565dd98d2da0cd5ba0e29b73c49617edcb9c.tar.gz rockbox-c6fb565dd98d2da0cd5ba0e29b73c49617edcb9c.zip |
most of UI sim patch 708460 from Magnus Holmgren, except the bitmap removal
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3571 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator/win32/kernel.c')
-rw-r--r-- | uisimulator/win32/kernel.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/uisimulator/win32/kernel.c b/uisimulator/win32/kernel.c index 150b8e42cc..567ed9ee39 100644 --- a/uisimulator/win32/kernel.c +++ b/uisimulator/win32/kernel.c | |||
@@ -56,6 +56,25 @@ void queue_wait(struct event_queue *q, struct event *ev) | |||
56 | *ev = q->events[(q->read++) & QUEUE_LENGTH_MASK]; | 56 | *ev = q->events[(q->read++) & QUEUE_LENGTH_MASK]; |
57 | } | 57 | } |
58 | 58 | ||
59 | void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks) | ||
60 | { | ||
61 | unsigned int timeout = current_tick + ticks; | ||
62 | |||
63 | while(q->read == q->write && TIME_BEFORE( current_tick, timeout )) | ||
64 | { | ||
65 | sleep(1); | ||
66 | } | ||
67 | |||
68 | if(q->read != q->write) | ||
69 | { | ||
70 | *ev = q->events[(q->read++) & QUEUE_LENGTH_MASK]; | ||
71 | } | ||
72 | else | ||
73 | { | ||
74 | ev->id = SYS_TIMEOUT; | ||
75 | } | ||
76 | } | ||
77 | |||
59 | void queue_post(struct event_queue *q, int id, void *data) | 78 | void queue_post(struct event_queue *q, int id, void *data) |
60 | { | 79 | { |
61 | int wr; | 80 | int wr; |