[tex-live] Re: Please enable ipc in tex

Olaf Weber olaf at infovore.xs4all.nl
Mon Jul 5 23:31:37 CEST 2004


Jonathan Fine writes:
> "David Kastrup" <dak at gnu.org> wrote in message

>> Maybe it would be a good idea to add a separate option to web2c that
>> merely flushes the DVI buffer at the end of each page without fiddling
>> around with sockets?  I don't think that many programs exist that
>> actually need the socket.  The buffer flushing should be sufficient
>> in most cases, right?

> As stated above,
>   tex --ipc
> does precisely what David suggests.

> I don't recall exactly what --enable-ipc adds to TeX beside this.

Note that I am not the author of the ipc code, and don't know _that_
much about it.  It seems to me that aggressive flushing of the dvi
file enabled by --ipc is a side-effect of needing to do this on the
socket.

The ipc code definitely opens a socket when --ipc is given.  To be
precise, it is a UNIX domain socket named "$HOME/.TeXview_Pipe".  With
--ipc-start it also tries to run "open `which TeXview`" as the
consumer (see IPC_SERVER_CMD in texmfmp.c).

I suspect that for large dvi files, if there is no listener on the
socket, TeX will just hang on a write on the socket after a while.  It
looks to me like TeX writes typically 6 bytes per page on the socket
(which is really used to synchronize the viewer with TeX).  With OS
buffers typically 1024 or 4096 bytes, that means 150+ or 650+ pages.

If you (generic you) want just the aggressive flushing, feel free to
propose a patch.  I think I've figured what would be required, but it
is something I'd like to see independent confirmation of.

Also a proposal on how to specify it on the command line would be
useful.  (As usual, I'm not saying I'd incorporate it, but I do want
to know what lines of thought people have in the matter, if only to
make sure that I don't do something by myself which turns out to be
utterly useless.)

-- 
Olaf Weber

               (This space left blank for technical reasons.)



More information about the tex-live mailing list