I am having trouble getting MSGQ_get() to work when set to non-blocking, i.e. with the parameter "WAIT_NONE". It works fine blocking.

I am using dsplink 1.60, and testing on the DM6446 EVM.

The symptom of the problem is the Linux OS freezes, requiring a reboot.

I have isolated the problem with the following changes to the GPP 'message' sample application which is provided with dsplink.

Index: message.c
===================================================================
--- message.c   (revision 26492)
+++ message.c   (working copy)
@@ -406,7 +406,11 @@
       /*
        *  Receive the message.
        */
-        status = MSGQ_get (SampleGppMsgq, WAIT_FOREVER, &msg) ;
+        do
+        {
+           status = MSGQ_get (SampleGppMsgq, WAIT_NONE, &msg) ;
+        } while (status == DSP_ENOTCOMPLETE);
+
       if (DSP_FAILED (status)) {
           MESSAGE_1Print ("MSGQ_get () failed. Status = [0x%x]\n",
                           status) ;


If anyone has some pointers to what I am doing wrong or where to look, please let me know.

Regards,
Kelby



=======================================================================
This email, including any attachments, is only for the intended
addressee.  It is subject to copyright, is confidential and may be
the subject of legal or other privilege, none of which is waived or
lost by reason of this transmission.
If the receiver is not the intended addressee, please accept our
apologies, notify us by return, delete all copies and perform no
other act on the email.
Unfortunately, we cannot warrant that the email has not been
altered or corrupted during transmission.
=======================================================================


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to