X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ec16845133f5f1b5262d2d77d8ba22824fa8a446..ea39fd08c260e7faa92334952d4acd37e3892b6c:/src/xbt/xbt_queue.c diff --git a/src/xbt/xbt_queue.c b/src/xbt/xbt_queue.c index ad6027b2a0..05bf14d12c 100644 --- a/src/xbt/xbt_queue.c +++ b/src/xbt/xbt_queue.c @@ -80,7 +80,7 @@ void xbt_queue_push(xbt_queue_t queue, const void *src) xbt_mutex_acquire(queue->mutex); while (queue->capacity != 0 && queue->capacity == xbt_dynar_length(queue->data)) { - XBT_DEBUG("Capacity of %p exceded (=%d). Waiting", queue, + XBT_DEBUG("Capacity of %p exceeded (=%d). Waiting", queue, queue->capacity); xbt_cond_wait(queue->not_full, queue->mutex); } @@ -100,7 +100,7 @@ void xbt_queue_push(xbt_queue_t queue, const void *src) void xbt_queue_pop(xbt_queue_t queue, void *const dst) { xbt_mutex_acquire(queue->mutex); - while (xbt_dynar_length(queue->data) == 0) { + while (xbt_dynar_is_empty(queue->data)) { XBT_DEBUG("Queue %p empty. Waiting", queue); xbt_cond_wait(queue->not_empty, queue->mutex); } @@ -120,7 +120,7 @@ void xbt_queue_unshift(xbt_queue_t queue, const void *src) xbt_mutex_acquire(queue->mutex); while (queue->capacity != 0 && queue->capacity == xbt_dynar_length(queue->data)) { - XBT_DEBUG("Capacity of %p exceded (=%d). Waiting", queue, + XBT_DEBUG("Capacity of %p exceeded (=%d). Waiting", queue, queue->capacity); xbt_cond_wait(queue->not_full, queue->mutex); } @@ -140,7 +140,7 @@ void xbt_queue_unshift(xbt_queue_t queue, const void *src) void xbt_queue_shift(xbt_queue_t queue, void *const dst) { xbt_mutex_acquire(queue->mutex); - while (xbt_dynar_length(queue->data) == 0) { + while (xbt_dynar_is_empty(queue->data)) { XBT_DEBUG("Queue %p empty. Waiting", queue); xbt_cond_wait(queue->not_empty, queue->mutex); } @@ -159,7 +159,6 @@ void xbt_queue_shift(xbt_queue_t queue, void *const dst) void xbt_queue_push_timed(xbt_queue_t queue, const void *src, double delay) { double begin = xbt_time(); - xbt_ex_t e; xbt_mutex_acquire(queue->mutex); @@ -169,7 +168,7 @@ void xbt_queue_push_timed(xbt_queue_t queue, const void *src, double delay) xbt_mutex_release(queue->mutex); THROWF(timeout_error, 0, - "Capacity of %p exceded (=%d), and delay = 0", queue, + "Capacity of %p exceeded (=%d), and delay = 0", queue, queue->capacity); } } else { @@ -177,13 +176,13 @@ void xbt_queue_push_timed(xbt_queue_t queue, const void *src, double delay) queue->capacity == xbt_dynar_length(queue->data) && (delay < 0 || (xbt_time() - begin) <= delay)) { - XBT_DEBUG("Capacity of %p exceded (=%d). Waiting", queue, + XBT_DEBUG("Capacity of %p exceeded (=%d). Waiting", queue, queue->capacity); TRY { xbt_cond_timedwait(queue->not_full, queue->mutex, delay < 0 ? -1 : delay - (xbt_time() - begin)); } - CATCH(e) { + CATCH_ANONYMOUS { xbt_mutex_release(queue->mutex); RETHROW; } @@ -204,24 +203,23 @@ void xbt_queue_push_timed(xbt_queue_t queue, const void *src, double delay) void xbt_queue_pop_timed(xbt_queue_t queue, void *const dst, double delay) { double begin = xbt_time(); - xbt_ex_t e; xbt_mutex_acquire(queue->mutex); if (delay == 0) { - if (xbt_dynar_length(queue->data) == 0) { + if (xbt_dynar_is_empty(queue->data)) { xbt_mutex_release(queue->mutex); THROWF(timeout_error, 0, "Delay = 0, and queue is empty"); } } else { - while ((xbt_dynar_length(queue->data) == 0) && + while ((xbt_dynar_is_empty(queue->data)) && (delay < 0 || (xbt_time() - begin) <= delay)) { XBT_DEBUG("Queue %p empty. Waiting", queue); TRY { xbt_cond_timedwait(queue->not_empty, queue->mutex, delay < 0 ? -1 : delay - (xbt_time() - begin)); } - CATCH(e) { + CATCH_ANONYMOUS { xbt_mutex_release(queue->mutex); RETHROW; } @@ -241,7 +239,6 @@ void xbt_queue_unshift_timed(xbt_queue_t queue, const void *src, double delay) { double begin = xbt_time(); - xbt_ex_t e; xbt_mutex_acquire(queue->mutex); @@ -251,7 +248,7 @@ void xbt_queue_unshift_timed(xbt_queue_t queue, const void *src, xbt_mutex_release(queue->mutex); THROWF(timeout_error, 0, - "Capacity of %p exceded (=%d), and delay = 0", queue, + "Capacity of %p exceeded (=%d), and delay = 0", queue, queue->capacity); } } else { @@ -259,13 +256,13 @@ void xbt_queue_unshift_timed(xbt_queue_t queue, const void *src, queue->capacity == xbt_dynar_length(queue->data) && (delay < 0 || (xbt_time() - begin) <= delay)) { - XBT_DEBUG("Capacity of %p exceded (=%d). Waiting", queue, + XBT_DEBUG("Capacity of %p exceeded (=%d). Waiting", queue, queue->capacity); TRY { xbt_cond_timedwait(queue->not_full, queue->mutex, delay < 0 ? -1 : delay - (xbt_time() - begin)); } - CATCH(e) { + CATCH_ANONYMOUS { xbt_mutex_release(queue->mutex); RETHROW; } @@ -287,31 +284,30 @@ void xbt_queue_shift_timed(xbt_queue_t queue, void *const dst, double delay) { double begin = xbt_time(); - xbt_ex_t e; xbt_mutex_acquire(queue->mutex); if (delay == 0) { - if (xbt_dynar_length(queue->data) == 0) { + if (xbt_dynar_is_empty(queue->data)) { xbt_mutex_release(queue->mutex); THROWF(timeout_error, 0, "Delay = 0, and queue is empty"); } } else { - while ((xbt_dynar_length(queue->data) == 0) && + while ((xbt_dynar_is_empty(queue->data)) && (delay < 0 || (xbt_time() - begin) <= delay)) { XBT_DEBUG("Queue %p empty. Waiting", queue); TRY { xbt_cond_timedwait(queue->not_empty, queue->mutex, delay < 0 ? -1 : delay - (xbt_time() - begin)); } - CATCH(e) { + CATCH_ANONYMOUS { xbt_mutex_release(queue->mutex); RETHROW; } } } - if (xbt_dynar_length(queue->data) == 0) { + if (xbt_dynar_is_empty(queue->data)) { xbt_mutex_release(queue->mutex); THROWF(timeout_error, 0, "Timeout (%f) elapsed, but queue still empty", delay);