2
0
Fork 0

add waitqueue_length()

personal/stbuehler/wip
Thomas Porzelt 2009-03-13 01:54:26 +01:00
parent bedcc3d46a
commit f9ca699307
2 changed files with 17 additions and 0 deletions

View File

@ -45,4 +45,7 @@ LI_API waitqueue_elem *waitqueue_pop(waitqueue *queue);
/* removes an element from the queue */
LI_API void waitqueue_remove(waitqueue *queue, waitqueue_elem *elem);
/* returns the length of the queue */
LI_API guint waitqueue_length(waitqueue *queue);
#endif

View File

@ -103,4 +103,18 @@ void waitqueue_remove(waitqueue *queue, waitqueue_elem *elem) {
elem->next->prev = elem->prev;
elem->queued = FALSE;
elem->ts = 0;
}
guint waitqueue_length(waitqueue *queue) {
guint i = 0;
waitqueue_elem *elem = queue->head;
while (elem) {
i++;
elem = elem->next;
}
return i;
}