shared memory message queue problem - VxWorks

This is a discussion on shared memory message queue problem - VxWorks ; I have a shared memory message queue that my program is sending to. I am having the problem when one is sending to it and the other is receiving from it, and they are both pended. I do not understand ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: shared memory message queue problem

  1. shared memory message queue problem

    I have a shared memory message queue that my program is sending to. I
    am having the problem when one is sending to it and the other is
    receiving from it, and they are both pended. I do not understand what
    could be causing this.

    On CPU0

    skyDataCol scl_DataCo f3f9470 PEND+S 0 MSG_Q_S(S) 16f101 N/A


    On CPU1
    skyProcess ssp_Operat 3ed18d70 PEND 0 MSG_Q_S(R) 16f101 N/A





    On CPU0 and cpu1 they both show this:
    msgQShow(dataInMsgQId())
    Message Queue Id : 0x16f101
    Task Queueing : FIFO
    Message Byte Len : 65536
    Messages Max : 8
    Messages Queued : 0
    Receivers Blocked : 1
    Send Timeouts : 0
    Receive Timeouts : 0


    This recently happened with a different queue as well, but this time
    there was no suspended task. There was a task reading from a message
    queue and writing to a message queue on CPU0 and there was a task on
    CPU1 also trying to write to the message queue. They were all pended
    indefinately, locking up the system.

    any idea whats going on?


  2. Re: shared memory message queue problem


    Aaron wrote:
    > I have a shared memory message queue that my program is sending to. I
    > am having the problem when one is sending to it and the other is
    > receiving from it, and they are both pended. I do not understand what
    > could be causing this.
    >
    > On CPU0
    >
    > skyDataCol scl_DataCo f3f9470 PEND+S 0 MSG_Q_S(S) 16f101 N/A
    >
    >
    > On CPU1
    > skyProcess ssp_Operat 3ed18d70 PEND 0 MSG_Q_S(R) 16f101 N/A
    >
    >
    >
    >
    >
    > On CPU0 and cpu1 they both show this:
    > msgQShow(dataInMsgQId())
    > Message Queue Id : 0x16f101
    > Task Queueing : FIFO
    > Message Byte Len : 65536
    > Messages Max : 8
    > Messages Queued : 0
    > Receivers Blocked : 1
    > Send Timeouts : 0
    > Receive Timeouts : 0
    >
    >
    > This recently happened with a different queue as well, but this time
    > there was no suspended task. There was a task reading from a message
    > queue and writing to a message queue on CPU0 and there was a task on
    > CPU1 also trying to write to the message queue. They were all pended
    > indefinately, locking up the system.
    >
    > any idea whats going on?



    Aaron,
    This is just my thought.I am not sure,but I guess its worth while
    checking this point:
    The fact that sending task also pends while posting to the queue
    ,points to me that,there is not enough space in the queue when the
    sending task is posting a message.When you try to post to a queue which
    is full,there is not enough space for your fresh message.So in that
    case your sender task might pend untill enough space is available for
    the fresh message.

    I hope I made sense.
    Regards,
    s.subbarayan


+ Reply to Thread