Re: Corba & MultiThreading (was Re: Orb choosing time)

Tom Tromey wrote:
> Philip> 1) Hack the code for both gtk and mico/omniorb to combine both
> Philip> blocking calls into one super gnome gtk/corba blocking
> Philip> call. (processes the gtk loop, then processes the omniorb
> Philip> loop).  Unfortunately this will require both loops to be
> Philip> non-blocking, and may invove select() and the like.
> gtk_main_loop is already running select.  You don't have to process
> one set of events and then the other -- instead you integrate the main
> loops.  This is no big deal.  If Mico can't do this, well, then that's
> a strike against Mico.
> Tom

Of course, one of the points of only supporting free software is so that
we can modify it if it doesn't meet our requirements.

I'm not that sure what you have in mind:
Would it be possible to 'integrate the main loops' without modifying
mico? That would be the best bet, since otherwise we'd have to modify
each new version as it comes out, and anybody wanting to run a mico app
that wasn't gnome-mico specific would have to have a seperate copy
(unless the modification isn't mico specific).

My previous experience with gtk (about 10 months ago) was that
gtk_main_loop (which repeatedly called gtk_iteration or something like
that) blocked on waiting for the next event from X.
I took that block out (i.e. check the queue, then proceed or re-loop,
not block until it fills up) at the time, integrated this in a timed
event loop (iterate once every 50th of a second), and witnessed some
shakey behaviour when lots of events happened (some events being lost,
gtk locking up).

I get the impression I haven't got the full picture. If you have time
could you fill me in on what you have in mind before the weekend - I'd
really appreciate it.



 Phil Dawes                               |   My opinions are my own
 WWW:    err.. temporarily non-existant   |   and nothing to do with
 Email:           |      my employer.

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