Can a VxWorks task pend on multiple message queues? - VxWorks

This is a discussion on Can a VxWorks task pend on multiple message queues? - VxWorks ; I have a requirement where in I want VxWorks task to pend on multiple queues..... As I know VxWorks task cannot pend on multiple queues. I wanted to know that how can I make use of some VxWorks facilities to ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: Can a VxWorks task pend on multiple message queues?

  1. Can a VxWorks task pend on multiple message queues?

    I have a requirement where in I want VxWorks task to pend on multiple
    queues.....

    As I know VxWorks task cannot pend on multiple queues.

    I wanted to know that how can I make use of some VxWorks facilities to
    make a task pend on multiple queues?


  2. Re: Can a VxWorks task pend on multiple message queues?

    "amit.gaharwar" wrote:

    >I have a requirement where in I want VxWorks task to pend on multiple
    >queues.....
    >
    >As I know VxWorks task cannot pend on multiple queues.
    >
    >I wanted to know that how can I make use of some VxWorks facilities to
    >make a task pend on multiple queues?


    The select facility can pend on multiple file descriptors and pipes
    are messages queues dressed up to look like files, so you create your
    message queues as pipes, configure select to pend on them and, voila,
    your pending on multiple message queues. It's a bit tricky to set up
    but it works.

    --
    ================================================== ======================
    Michael Kesti | "And like, one and one don't make
    | two, one and one make one."
    mrkesti at comcast dot net | - The Who, Bargain

  3. Re: Can a VxWorks task pend on multiple message queues?


    amit.gaharwar wrote:
    > I have a requirement where in I want VxWorks task to pend on multiple
    > queues.....
    >
    > As I know VxWorks task cannot pend on multiple queues.
    >
    > I wanted to know that how can I make use of some VxWorks facilities to
    > make a task pend on multiple queues?


    I believe you can with the Events library if you have version 5.5 or
    greater. I had once written a C++ class for previous versions of
    VxWorks that allow a task to block on any set of synchronization
    objects. Although, IMHO forcing a task to block on multiple objects
    (i.e., handle multiple queues) is usually an indication of a bad
    design.

    REH


+ Reply to Thread