diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/thread.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/firmware/thread.c b/firmware/thread.c index 153d3b1c1a..e358079aba 100644 --- a/firmware/thread.c +++ b/firmware/thread.c | |||
@@ -123,39 +123,3 @@ int create_thread(void* fp, void* sp, int stk_size) | |||
123 | } | 123 | } |
124 | return 0; | 124 | return 0; |
125 | } | 125 | } |
126 | |||
127 | struct event | ||
128 | { | ||
129 | int id; | ||
130 | void *data; | ||
131 | }; | ||
132 | |||
133 | struct event_queue | ||
134 | { | ||
135 | struct event events[16]; | ||
136 | unsigned int read; | ||
137 | unsigned int write; | ||
138 | }; | ||
139 | |||
140 | void queue_init(struct event_queue *q) | ||
141 | { | ||
142 | q->read = 0; | ||
143 | q->write = 0; | ||
144 | } | ||
145 | |||
146 | struct event *wait_queue(struct event_queue *q) | ||
147 | { | ||
148 | while(q->read == q->write) | ||
149 | { | ||
150 | switch_thread(); | ||
151 | } | ||
152 | |||
153 | return &q->events[q->read++]; | ||
154 | } | ||
155 | |||
156 | void post_queue(struct event_queue *q, int id, void *data) | ||
157 | { | ||
158 | q->events[q->write].id = id; | ||
159 | q->events[q->write].data = data; | ||
160 | q->write++; | ||
161 | } | ||