From: mquinson Date: Wed, 14 May 2008 13:27:40 +0000 (+0000) Subject: If the queue is empty after the timeout, do raise an exception, don't try to get... X-Git-Tag: v3.3~513 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/3e3990a61706fabb11965ce66c36cc41425f56dc 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 --- 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);