Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solution to t=0 being special for Limpets #41

Open
GoogleCodeExporter opened this issue Mar 17, 2015 · 3 comments
Open

Solution to t=0 being special for Limpets #41

GoogleCodeExporter opened this issue Mar 17, 2015 · 3 comments

Comments

@GoogleCodeExporter
Copy link

Currently Limpets only know about replier bind events that occur subsequent to 
the Limpet being started. This is fine if we assume Limpets being started are 
the first activity on KBus (i.e. before any replier binds), but this is not 
necessarily the case. (The so-called t=0 problem.)

A specific example is a server with many clients repeatedly connecting and 
disconnecting independently, each of which wishes to have a Limpet between it 
and the server. We cannot forbid having any replier binds on the server until 
all the clients are connected (and thus all the Limpets have started) as they 
may never all be connected to the server simultaneously.

One solution would be to have kbus_ksock_report_replier_binds additionally 
inserted a ReplierBindEvent message for every bound replier at the front of the 
calling ksock's message queue, possibly using priority messages. I don't think 
the order in which the messages are inserted would matter.

This solution is neat because it doesn't require any changes to the way Limpets 
work, and if somebody is interested in future replier bind events then they are 
probably also interested in ones that have already happened. The ioctl name 
"KBUS_IOC_REPORTREPLIERBINDS" could probably be left as it is.

Original issue reported on code.google.com by [email protected] on 23 Jul 2010 at 1:12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant