Robert Krten <firstname.lastname@example.org> wrote:
In the docs, it sez that MsgDeliverEvent could return with
an ESRVFAULT (sp?). Question is, why? Is this return code
different than EFAULT?
I haven’t checked the code. But, my understanding would be
that if you passed a bad pointer to MsgDeliverEvent() you’d
get an EFAULT.
If the [client of yours, but the person receiving the pulse] was
already blocked in a MsgReceive(), and the kernel did the delivery
work for the event immediately, and hit a bad pointer on the
write to [your client, but really the “server” receiving the pulse]'s
receive buffer, you would see a ESRVFAULT.
Hm…you might see it if the MsgReceive() had passed to small
a buffer as well – i.e. if the receive buffer was less than
the sizeof of a struct _pulse.
QNX Training Services
Please followup in this newsgroup if you have further questions.