If the specified count is greater than or equal to
the trigger count for the particular notification list element,
this function calls
MsgDeliverEvent()
to deliver the event to the client.
If the number of elements on the specified queue is equal to its
mq_maxmsg, and O_NONBLOCKwasn't set
(in the oflag argument to mq_open()),
the call to mq_send() blocks.
This macro returns the negative of the number of parts (to distinguish
the number from error codes that the resource manager's handler functions
might return).
The timeout value starts timing out when TimerTimeout()
is called, not when the blocking state is entered.
It might be possible to get preempted after calling
TimerTimeout() but before the blocking kernel call.