diff --git a/qnx/src/api/MessageQ.c b/qnx/src/api/MessageQ.c
index 397ec49b8f0f1ab29bdae9f41b597fbc33eb1f8b..189e652b1b4cbd3fc0f7320f5add37043ed899cd 100644 (file)
--- a/qnx/src/api/MessageQ.c
+++ b/qnx/src/api/MessageQ.c
/*!< File Descriptors for sending to each remote processor */
int seqNum;
/*!< Process-specific sequence number */
+ MessageQ_PutHookFxn putHookFxn;
+ /*!< hook function for MessageQ_put method */
} MessageQ_ModuleObject;
/*!
*/
static MessageQ_ModuleObject MessageQ_state =
{
- .refCount = 0,
- .nameServer = NULL,
+ .refCount = 0,
+ .nameServer = NULL,
+ .putHookFxn = NULL
};
/*!
msg->dstId = queueIndex;
msg->dstProc = dstProcId;
+ /* invoke put hook function after addressing the message */
+ if (MessageQ_module->putHookFxn != NULL) {
+ MessageQ_module->putHookFxn(queueId, msg);
+ }
+
status = transportPut(msg, queueIndex, dstProcId);
return (status);