From 34fc8f82512447faa6b2c8239a50eda9d32dd10c Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Fri, 26 Aug 2011 16:33:57 -0700 Subject: [PATCH] rtems osdMessageQueue.c --- src/libCom/osi/os/RTEMS/osdMessageQueue.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libCom/osi/os/RTEMS/osdMessageQueue.c b/src/libCom/osi/os/RTEMS/osdMessageQueue.c index 2707df1f4..05c930d45 100644 --- a/src/libCom/osi/os/RTEMS/osdMessageQueue.c +++ b/src/libCom/osi/os/RTEMS/osdMessageQueue.c @@ -27,7 +27,6 @@ #include #include #include -#include #include "epicsMessageQueue.h" #include "errlog.h" @@ -35,11 +34,14 @@ epicsShareFunc epicsMessageQueueId epicsShareAPI epicsMessageQueueCreate(unsigned int capacity, unsigned int maximumMessageSize) { rtems_status_code sc; - epicsMessageQueueId id = (epicsMessageQueueId)callocMustSucceed(1, sizeof(*id), "epicsMessageQueueCreate"); + epicsMessageQueueId id = calloc(1, sizeof(*id)); rtems_interrupt_level level; static char c1 = 'a'; static char c2 = 'a'; static char c3 = 'a'; + + if(!id) + return NULL; sc = rtems_message_queue_create (rtems_build_name ('Q', c3, c2, c1), capacity, @@ -47,6 +49,7 @@ epicsMessageQueueCreate(unsigned int capacity, unsigned int maximumMessageSize) RTEMS_FIFO|RTEMS_LOCAL, &id->id); if (sc != RTEMS_SUCCESSFUL) { + free(id); errlogPrintf ("Can't create message queue: %s\n", rtems_status_text (sc)); return NULL; }