ORBit2 threading patches ...
- From: Michael Meeks <michael ximian com>
- To: Mark McLoughlin <mark mcloughlin sun com>
- Cc: orbit <orbit-list gnome org>,Christophe Fergeau <teuf users sourceforge net>,Sebastian Wilhelmi <wilhelmi ira uka de>
- Subject: ORBit2 threading patches ...
- Date: 07 Feb 2003 09:21:03 +0000
Hi Mark,
I was going to commit these, but we fail a single poa regression test -
which is wierd and I havn't had time to chase.
This is really just an excuse to get these off my disk so ... very much
not finished. Patches against HEAD.
My aim has been to leave the 'normal' single threaded, re-enterant path
mostly unscathed, and focus on re-structuring that, while adding misc.
bits of more sane thread-capability, replacing the somewhat crufty /
duff dribs and drabs that were there.
So far, at last check it did MT client stuff just fine; ie. we can
reliably do MT client -> ST server calls just fine. The MT server
stuffis flakey - indeed even the ST server with threading enabled
doesn't yet work - but that's fixable.
Remaining gotchas (only in threaded mode) include:
* shutdown, - needs to be done by the I/O thread, needs somewhat
more thought, and more linc API to fix the 'flushing' shutdown
mode we've never supported [ but which would be really nice
for async unrefs :-].
* connection initiation, if the cnx is not already connected, we do
some unsafe things with the linc mainloop to wait for it to
connect; the main I/O thread should be doing the cnx, and we
should wait for a signal.
* MT incoming request processing - this needs writing really;
we should prolly re-use the ORBit-MT stuff which uses
g_thread_pools and lots of other fun bits.
Anyhow; patches are at:
http://primates.ximian.com/~michael/linc-mt.diff and
http://primates.ximian.com/~michael/ORBit2-mt.diff
I hope to merge these up when I get back from FOSDEM, since as I say
they don't (won't) affect the existing ST infrastructure.
Comments welcome,
Regards,
Michael.
--
mmeeks@gnu.org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]