Home | History | Annotate | Download | only in ppc

Lines Matching refs:events

25 #include "events.h"
153 update_time_from_event(event_queue *events)
155 int64_t current_time = event_queue_time(events);
156 if (events->queue != NULL) {
157 events->time_from_event = (events->queue->time_of_event - current_time);
158 events->time_of_event = events->queue->time_of_event;
161 events->time_of_event = current_time - 1;
162 events->time_from_event = -1;
168 for (event = events->queue, i = 0;
174 events->time_from_event,
182 ASSERT(current_time == event_queue_time(events));
187 insert_event_entry(event_queue *events,
199 time_of_event = event_queue_time(events) + delta;
202 prev = &events->queue;
203 curr = events->queue;
218 update_time_from_event(events);
223 event_queue_schedule(event_queue *events,
231 insert_event_entry(events, new_event, delta_time);
233 event_queue_time(events),
244 event_queue_schedule_after_signal(event_queue *events,
263 if (events->held == NULL) {
264 events->held = new_event;
267 *events->held_end = new_event;
269 events->held_end = &new_event->next;
276 event_queue_time(events),
288 event_queue_deschedule(event_queue *events,
292 ASSERT((events->time_from_event >= 0) == (events->queue != NULL));
296 for (ptr_to_current = &events->queue, current = *ptr_to_current;
302 event_queue_time(events),
308 update_time_from_event(events);
312 event_queue_time(events),
316 ASSERT((events->time_from_event >= 0) == (events->queue != NULL));
324 event_queue_tick(event_queue *events)
329 ASSERT(!events->processing);
331 /* move any events that were queued by any signal handlers onto the
334 weight on keeping the pointer EVENTS in a register. This, in
336 if (events->held != NULL) {
347 held_events = events->held;
348 events->held = NULL;
349 events->held_end = &events->held;
358 insert_event_entry(events, curr_event, curr_event->time_of_event);
364 time_from_event = events->time_from_event;
365 events->time_from_event = time_from_event - 1;
373 event_queue_process(event_queue *events)
375 int64_t event_time = event_queue_time(events);
377 ASSERT((events->time_from_event == -1 && events->queue != NULL)
378 || events->processing); /* something to do */
380 /* consume all events for this or earlier times. Be careful to
382 events->processing = 1;
383 while (events->queue != NULL
384 && events->queue->time_of_event <= event_time) {
385 event_entry *to_do = events->queue;
388 events->queue = to_do->next;
397 can safely insert new events into the queue. */
398 update_time_from_event(events);
401 events->processing = 0;
403 ASSERT(events->time_from_event > 0);
404 ASSERT(events->queue != NULL); /* always poll event */