<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Also may want to consider libEv  or asio (boost if c++)., which wrap the lower levels and also add in features.</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">libEv is great if you want to keep watchers active while servicing many requests as those watchers fire.</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">For messages across processes, i have used signals, locks and shmem  to get pretty optimal. With signals and </div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">if your design/use allows you may even be able to go lock-free or a quick atomic lock if arch supports it.</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">If thread, you can use lock-free collections (have some in boost, and if c++14/17, may be in standard now).</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">-tl</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 13, 2017 at 2:35 PM, Lennart Sorensen via talk <span dir="ltr"><<a href="mailto:talk@gtalug.org" target="_blank">talk@gtalug.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Sep 13, 2017 at 03:24:25AM -0400, William Park via talk wrote:<br>
> I'm looking for keywords to search for...<br>
><br>
> I have various local peripherals that I need to read and write.  From<br>
> top of my head, I'm thinking 3 ways:<br>
><br>
>     1. Use select(2) (and friends) to round-robin the peripherals.<br>
<br>
poll seems more popular these days than select.<br>
<br>
>     2. Each peripheral is serviced by a separate thread, and main thread<br>
>     does the business logics.  The peripherals don't need to talk to<br>
>     each other (but this may change).<br>
><br>
>     3. Each peripheral is serviced by a separate process, and they pass<br>
>     "messages".  This option is what I want to investigate.<br>
><br>
> So, do you know any "message-passing" scheme, framework, or library that<br>
> I can look up?  I'm not talking about OS or kernel level.  More at<br>
> application level.<br>
<br>
Processes don't get to do anything without OS/kernel support.  If you<br>
use seperate processes, you will need to use something from the OS/kernel<br>
to pass messages.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Len Sorensen<br>
---<br>
Talk Mailing List<br>
<a href="mailto:talk@gtalug.org">talk@gtalug.org</a><br>
<a href="https://gtalug.org/mailman/listinfo/talk" rel="noreferrer" target="_blank">https://gtalug.org/mailman/<wbr>listinfo/talk</a><br>
</font></span></blockquote></div><br></div>