From: Armin Steinhoff <armin@steinhoff.de>
To: "M. Koehrer" <mathias_koehrer@arcor.de>
Cc: rt-users <linux-rt-users@vger.kernel.org>
Subject: Re: Looking for a real time IPC to be used with select
Date: Sat, 17 Apr 2010 09:55:01 +0200 [thread overview]
Message-ID: <4BC96955.2080003@steinhoff.de> (raw)
In-Reply-To: <3215024.1271427173625.JavaMail.ngmail@webmail08.arcor-online.net>
Hi,
have a look to http://www.zeromq.org ... it does probably what you want.
Armin Steinhoff
---
Armin Steinhoff <as@Steinhoff-Automation.com>
STEINHOFF Automation & Fieldbus-Systems
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TEL +49-6431 -529366 or -570 99 70
FAX +49-6431 - 57454 or -570 99 80
http://www.steinhoff-automation.com
M. Koehrer wrote:
> Hi all,
>
> I have a real time application with a couple of threads.
> One thread is waiting on a select() call (with timeout)
> for data coming in from a UDP Ethernet socket.
> Once it gets data it does some computation and finally
> leads to the writing of data on the UDP socket.
>
> The (simplified) code for this real time thread is:
>
> void *thread_func_A(void *arg)
> {
> while (1)
> {
> rc = select(...); // Read socket with timeout_value);
> if (rc > 0)
> {
> recv(.., data, .. ); // recv data from socket
> compute(data, data2); // Compute data and modify them to data2
> send(..., data2, ...); // Send data2 to socket
> }
> }
> }
>
> This works fine.
>
> Now I have the need that another real time thread B should also be able
> to trigger the "select()" in the thread_func_A() above.
> This means, I should add a suitable inter-process-communication
> between thread A and B that can be used with select() as well.
> Having this, the thread A can be triggered by the socket or
> by the IPC from thread B by adding two file desciptors to the readfds
> of select().
>
> My question is now: What kind of IPC is preferred here?
> The only IPC I see is a local socket communication, however
> this looks like a huge overhead for triggering...
>
> Both, threads A and B are real time threads, thus any IPC in use
> should be supported by the RT_PREEMPT patch.
>
> Setup: PC (Core2Quad, kernel 2.6.31.2-rt13)
>
> Thanks for any feedback on this question.
>
> Regards
>
> Mathias
>
>
>
>
next prev parent reply other threads:[~2010-04-17 8:46 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-16 14:12 Looking for a real time IPC to be used with select M. Koehrer
2010-04-16 20:30 ` Leyendecker, Robert
2010-04-19 6:24 ` M. Koehrer
2010-04-17 7:55 ` Armin Steinhoff [this message]
2010-04-17 14:42 ` Pradyumna Sampath
2010-04-19 6:31 ` M. Koehrer
2010-04-18 4:43 ` Sujit K M
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BC96955.2080003@steinhoff.de \
--to=armin@steinhoff.de \
--cc=linux-rt-users@vger.kernel.org \
--cc=mathias_koehrer@arcor.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.