Angus Leeming <[EMAIL PROTECTED]> writes: | On Wednesday 11 September 2002 12:03 pm, Lars Gullik Bjønnes | wrote: > >> Busy now, but I will have a look later. But I do not expect >> these changes to go into 1.3.0 anyway. > | Lars, I have made some progress. > | pipestream::eof() returns 1 after the first write, so an | explicit call to pipestream.clear() "fixes" things. > | Thus, this results in a working program (and hence | almost-working pipestream), so we really are not far off. > | Angus > | void ClientController::write(string const & prefix, | string const & cmd, | string const & arg) | { | // This is a fudge, but I don't know what's the | // correct thing to do! | if (comm().eof()) | comm().clear(); > | comm() << prefix << ':' << view().clientname() << ':' << cmd; | if (!arg.empty()) | comm() << ':' << arg; | comm() << endl; | }
This is how I think this should be done. lyx<->lyxserver--localsocket--pipesocket(as a socketclient) \ socketclient what I mean is that the localsocket is the native interface, and to named pipe is just built on top of this. There should be no need to special case pipes _inside_ lyx, it is better off as an external program/daemon. then lyx need only to handle the localsocket (or unix socket) properly. -- Lgb