//*********************************************************
// The following is a snippet from the kernel module:
// (If the delay is put in, it works fine.)
//**********************************************************
static void *LinkThread (struct net_device *dev)
{
int status;
link_request linkr;
struct timespec ttt,xxx;
ttt.tv_sec = 2;
ttt.tv_nsec = 0;
while (1)
{
if ((status=mq_receive (link_rq_mq, (char *)&linkr, sizeof
(linkr), 0)) > 0)
{
//nanosleep (&ttt, &xxx);
status = mq_send (link_rq_mq_out, (char *)&linkr,
sizeof (linkr), 0);
}
}
return 0;
}
//******************************************************************
// Here's the user code that activates the above:
//*****************************************************************
int CLinkState::GetLinkState (void)
{
struct link_request linkr;
linkr.request_type = get_link_state;
int status;
pthread_mutex_lock (&mutex);
status = mq_send (link_rq, (char *)&linkr, sizeof (linkr), 0);
DPRINT( ("GetLinkState: mq_send returned %08x\n", status) );
mq_receive (link_rq, (char *)&linkr, sizeof (linkr), 0);
DPRINT( ("GetLinkState: mq_receive returned %08x, link up = %08x\n",
status, linkr.link_on) );
pthread_mutex_unlock (&mutex);
return linkr.link_on;
}
-----Original Message-----
From: Gilles Chanteperdrix [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 01, 2006 5:33 PM
To: Landau, Bracha
Cc: [email protected]
Subject: Re: [Xenomai-help] mq_send /mq_receive problem
Landau, Bracha wrote:
> I have a low priority thread running in the kernel which receives to a
> message queue and writes to the same message queue after it processes the
> message. The message queue is opened for reading and writing.
> Without a delay (with nanosleep) between the reading (mq_receive) and
> writing (mq_send), the kernel hangs.
> If I put in a small delay between the mq_send and mq_receive, the mechanism
> works fine.
> Why is this?
You probably found a bug, could you send us a small example allowing us
to reproduce this bug ?
--
Gilles Chanteperdrix.
***********************************************************************************
This email message and any attachments thereto are intended only for use by the
addressee(s) named above, and may contain legally privileged and/or
confidential information. If the reader of this message is not the intended
recipient, or the employee or agent responsible to deliver it to the intended
recipient, you are hereby notified that any dissemination, distribution or
copying of this communication is strictly prohibited. If you have received this
communication in error, please immediately notify the [EMAIL PROTECTED] and
destroy the original message.
***********************************************************************************
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help