From 3e3990a61706fabb11965ce66c36cc41425f56dc Mon Sep 17 00:00:00 2001 From: mquinson Date: Wed, 14 May 2008 13:27:40 +0000 Subject: [PATCH] If the queue is empty after the timeout, do raise an exception, don't try to get an element anyway git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5423 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/xbt/xbt_queue.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/xbt/xbt_queue.c b/src/xbt/xbt_queue.c index 6a48254a67..caad30aa35 100644 --- a/src/xbt/xbt_queue.c +++ b/src/xbt/xbt_queue.c @@ -287,6 +287,10 @@ void xbt_queue_shift_timed(xbt_queue_t queue, void* const dst,double delay) { } } + if (xbt_dynar_length(queue->data) == 0) { + THROW1(timeout_error,0,"Timeout (%f) elapsed, but queue still empty",delay); + } + xbt_dynar_shift(queue->data,dst); xbt_cond_signal(queue->not_full); xbt_mutex_release(queue->mutex); -- 2.20.1