Re: select() support / anti-load-balancing?

Hi Roland,

> > A select is always used, when ORBit is waiting for data.
>   It is true.  However, the giop_check_connections() returns the
> *first* connection with available data from the select().  If the
> corresponding client keeps sending requests, it gets answers OK but
> the other ones are locked out.  (I'm not a native English speaker but
> `dict livelock` tends to tell me that it's not exactly what happens.)
>   After having a look in the connection.c file, I still think it's
> rather simple to do.  I'll have to patch giop_check_connections() so
> that it return a list of GIOPConnection* instead of just one.  It
> should then be possible to keep something like a "current" thing, and
> return the next one when giop_main_next_message_2() is next called,
> unless I have none left, in which case let's call
> giop_check_connections() again to get a new list.

Thats what I meant with "round robin". I'm not sure, that's good. If you're
going to fix things, then you should do it right and that is to always process
the oldest request. That's not quite easy though.

Sebastian Wilhelmi
mailto:wilhelmi ira uka de

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