X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0f5e8daaa6e9f74521068aa75837200bcd182ea6..a46e6475aa6fc84c269b98a1c1018f43c09e5435:/src/xbt/xbt_queue.c diff --git a/src/xbt/xbt_queue.c b/src/xbt/xbt_queue.c index b3829bd59f..ee9df908bd 100644 --- a/src/xbt/xbt_queue.c +++ b/src/xbt/xbt_queue.c @@ -33,7 +33,8 @@ typedef struct s_xbt_queue_ { xbt_queue_t xbt_queue_new(int capacity, unsigned long elm_size) { xbt_queue_t res = xbt_new0(s_xbt_queue_t, 1); - xbt_assert0(capacity >= 0, "Capacity cannot be negative"); + if (capacity<0) + capacity=0; res->capacity = capacity; res->data = xbt_dynar_new(elm_size, NULL); @@ -54,7 +55,7 @@ void xbt_queue_free(xbt_queue_t * queue) xbt_mutex_destroy((*queue)->mutex); xbt_cond_destroy((*queue)->not_full); xbt_cond_destroy((*queue)->not_empty); - free((*queue)); + free(*queue); *queue = NULL; } @@ -79,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)) { - DEBUG2("Capacity of %p exceded (=%d). Waiting", queue, + XBT_DEBUG("Capacity of %p exceded (=%d). Waiting", queue, queue->capacity); xbt_cond_wait(queue->not_full, queue->mutex); } @@ -100,7 +101,7 @@ void xbt_queue_pop(xbt_queue_t queue, void *const dst) { xbt_mutex_acquire(queue->mutex); while (xbt_dynar_length(queue->data) == 0) { - DEBUG1("Queue %p empty. Waiting", queue); + XBT_DEBUG("Queue %p empty. Waiting", queue); xbt_cond_wait(queue->not_empty, queue->mutex); } xbt_dynar_pop(queue->data, dst); @@ -119,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)) { - DEBUG2("Capacity of %p exceded (=%d). Waiting", queue, + XBT_DEBUG("Capacity of %p exceded (=%d). Waiting", queue, queue->capacity); xbt_cond_wait(queue->not_full, queue->mutex); } @@ -140,7 +141,7 @@ void xbt_queue_shift(xbt_queue_t queue, void *const dst) { xbt_mutex_acquire(queue->mutex); while (xbt_dynar_length(queue->data) == 0) { - DEBUG1("Queue %p empty. Waiting", queue); + XBT_DEBUG("Queue %p empty. Waiting", queue); xbt_cond_wait(queue->not_empty, queue->mutex); } xbt_dynar_shift(queue->data, dst); @@ -176,7 +177,7 @@ 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)) { - DEBUG2("Capacity of %p exceded (=%d). Waiting", queue, + XBT_DEBUG("Capacity of %p exceded (=%d). Waiting", queue, queue->capacity); TRY { xbt_cond_timedwait(queue->not_full, queue->mutex, @@ -215,7 +216,7 @@ void xbt_queue_pop_timed(xbt_queue_t queue, void *const dst, double delay) } else { while ((xbt_dynar_length(queue->data) == 0) && (delay < 0 || (xbt_time() - begin) <= delay)) { - DEBUG1("Queue %p empty. Waiting", queue); + XBT_DEBUG("Queue %p empty. Waiting", queue); TRY { xbt_cond_timedwait(queue->not_empty, queue->mutex, delay < 0 ? -1 : delay - (xbt_time() - begin)); @@ -258,7 +259,7 @@ 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)) { - DEBUG2("Capacity of %p exceded (=%d). Waiting", queue, + XBT_DEBUG("Capacity of %p exceded (=%d). Waiting", queue, queue->capacity); TRY { xbt_cond_timedwait(queue->not_full, queue->mutex, @@ -298,7 +299,7 @@ void xbt_queue_shift_timed(xbt_queue_t queue, void *const dst, } else { while ((xbt_dynar_length(queue->data) == 0) && (delay < 0 || (xbt_time() - begin) <= delay)) { - DEBUG1("Queue %p empty. Waiting", queue); + XBT_DEBUG("Queue %p empty. Waiting", queue); TRY { xbt_cond_timedwait(queue->not_empty, queue->mutex, delay < 0 ? -1 : delay - (xbt_time() - begin));