MsgDeliverEvent and ESRVFAULT

In the docs, it sez that MsgDeliverEvent could return with
an ESRVFAULT (sp?). Question is, why? Is this return code
different than EFAULT?

Cheers,
-RK


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Books, Video-based and Instructor-led
Training and Consulting at www.parse.com.
Email my initials at parse dot com.

Robert Krten <nospam88@parse.com> 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.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.