<lots snipped>
> =

> ## Main tread
> For xforms we can use a filedescriptor driven message queue and bind
> a callback that knows what to do with fl_add_io_callback.
> =

> Unfortunately is xforms not threadsafe so we must be very careful to
> not use xforms functions in the thread.
> =

> For a fork/exec we could use a pipe and in all practical matters use
> te messagequeue that way.

This is enimently sensible but you it would require some changes. In part=
icular pipes would require a custom mainloop for LyX with the X events se=
nt in the appropiate direction after determing they are avialable (via a =
GUI toolkit or otherwise). The loop would use selet(2) or poll(2)  to wai=
t for an incoming X event (XConnectionNumber(3x) tells you the X11 conect=
ion fd) or another fd of interest. This is definatly possible with X tool=
lkit instrisics (the Xt* functions). How to do this in  Xforms, Qt, etx i=
s left as an exercise for the reader.

A timeout and tiemout event could be included, This mgiht be useful for k=
illing runaway subprocess that are consusing excessuvive CPU time, for ex=
ample. One might think of some sort of inteface class for communication a=
cross file disrciptors, which would implement IIOP, XDR, java RMI format =
or whatever.

Of course if you prefer to spend your time doing process calculus, wuite =
possibly with pencil and paper, you are welcome to use a more complex des=
ign. Popular process calculii with good free support tools include CCS an=
d CSP.
-- =

Duncan (-:
"software industry, the: unique industry where selling substandard goods =
is
legal and you can charge extra for fixing the problems."


Reply via email to