All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] xnpipe EPOLLIN starvation
@ 2008-07-31  9:20 Filip Van Rillaer
  2008-07-31 10:12 ` Gilles Chanteperdrix
  2008-07-31 14:21 ` Philippe Gerum
  0 siblings, 2 replies; 10+ messages in thread
From: Filip Van Rillaer @ 2008-07-31  9:20 UTC (permalink / raw)
  To: xenomai

[-- Attachment #1: Type: text/plain, Size: 1150 bytes --]

Hi,
 
I am transferring data from the Xenomai domain to the 2nd domain with
the xenomai pipe.  In the 2nd domain I am using the epoll interface to
wait for the arrival of new data.  The first time that data are written
in the pipe at the Xenomai side, the 2nd domain receives the EPOLLIN (an
that's OK).  But the 2nd time data are written in the pipe at the
Xenomai side, the 2nd domain is NOT receiving EPOLLIN and therefore dies
forever.
 
I am not familiar at all with the Xenomai internals, but I tried to
gather some information: it look like when the first characters are
written at the Xenomai side, the xnpipe_wakeup_proc calls
xnpipe_dequeue_wait and this way it is removed forever from the
waiters-queue.
When I remove the "else"-instruction in xnpipe_poll so that
xnpipe_wakeup_proc is called un-conditionally, then it works as expected
... however I have no idea if this patch is correct.  So please comment.
 
FYI:
URL: http://svn.gna.org/svn/xenomai/trunk
Repository Root: http://svn.gna.org/svn/xenomai
Repository UUID: c6d672ea-8702-0410-b560-f74c916a59fe
Revision: 4047

 
Best regards,
Filip
 
 
 
 

[-- Attachment #2: Type: text/html, Size: 2956 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2008-08-22 20:22 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-31  9:20 [Xenomai-help] xnpipe EPOLLIN starvation Filip Van Rillaer
2008-07-31 10:12 ` Gilles Chanteperdrix
2008-07-31 10:20   ` Filip Van Rillaer
2008-07-31 10:33     ` Philippe Gerum
2008-07-31 10:45       ` Filip Van Rillaer
     [not found]         ` <4891D5A3.1060004@domain.hid>
     [not found]           ` <406CC9939904F143B9D42CEEA3E56E563EE103@domain.hid>
     [not found]             ` <4891DEBC.2050400@domain.hid>
2008-08-01 10:50               ` Filip Van Rillaer
2008-08-22 20:22                 ` Philippe Gerum
2008-07-31 12:14       ` Gilles Chanteperdrix
2008-07-31 13:27         ` Filip Van Rillaer
2008-07-31 14:21 ` Philippe Gerum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.