Implement epicsMessageQueueSend/epicsMessageQueueReceive to resolve link error

These were defined as macros in osdMessageQueue.h, but declared as
prototypes in epcisMessageQueue.h public header. We need to implement
them as C functions for these to actually be usable.
This commit is contained in:
Jeremy Lorelli
2025-09-23 09:16:29 -07:00
committed by Andrew Johnson
parent acd1aef2a0
commit bd8c35d8e7
2 changed files with 16 additions and 2 deletions

View File

@@ -74,6 +74,22 @@ LIBCOM_API void epicsStdCall epicsMessageQueueDestroy(
free(id);
}
LIBCOM_API int epicsStdCall epicsMessageQueueSend(
epicsMessageQueueId id,
void *message,
unsigned int messageSize)
{
return mq_send(id->id, (const char*)message, messageSize, 0);
}
LIBCOM_API int epicsStdCall epicsMessageQueueReceive(
epicsMessageQueueId id,
void *message,
unsigned int messageSize)
{
return mq_receive(id->id, (char*)message, messageSize, NULL);
}
LIBCOM_API int epicsStdCall epicsMessageQueueTrySend(
epicsMessageQueueId id,

View File

@@ -23,6 +23,4 @@ struct epicsMessageQueueOSD {
mqd_t id;
char name[24];
};
#define epicsMessageQueueSend(q,m,l) (mq_send((q)->id, (const char*)(m), (l), 0))
#define epicsMessageQueueReceive(q,m,s) (mq_receive((q)->id, (char*)(m), (s), NULL))