Re: Looking for a real time IPC to be used with select

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi,

have a look to http://www.zeromq.org ... it does probably  what you want.

Armin Steinhoff
---
Armin Steinhoff <as@xxxxxxxxxxxxxxxxxxxxxxxx> 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




--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux