diff --git a/janus/src/queue.h b/janus/src/queue.h index e60f2fb..b31107b 100644 --- a/janus/src/queue.h +++ b/janus/src/queue.h @@ -48,14 +48,16 @@ typedef struct { #define QUEUE_FREE_ITEMS_AND_DESTROY(_queue, _free_item) { \ - while (!queue_get_free(_queue)) { \ - void *_ptr; \ - assert(!queue_get(_queue, &_ptr, 0.1)); \ - if (_ptr != NULL) { \ - _free_item(_ptr); \ + if (_queue) { \ + while (!queue_get_free(_queue)) { \ + void *_ptr; \ + assert(!queue_get(_queue, &_ptr, 0.1)); \ + if (_ptr != NULL) { \ + _free_item(_ptr); \ + } \ } \ + queue_destroy(_queue); \ } \ - queue_destroy(_queue); \ }