simon-svn: umlwrap: simon

Commits to Tartarus CVS repository. tartarus-commits at lists.tartarus.org
Wed Jun 18 00:43:20 BST 2008


SVN root:       svn://svn.tartarus.org/sgt
Changes by:     simon
Revision:       8086
Date:           2008-06-18 00:43:20 +0100 (Wed, 18 Jun 2008)

Log message (19 lines):
More fd-handling fixes, with the combined effect that EOFs are now
successfully propagated down output channels from the isolated
process to the holder of the other end of the fds originally passed
to umlwrap. Fixes include:
 - the interior init process closes its copies of all the fds it
   passed to its child, so as not to inhibit EOF on the other ends
   of those pipes
 - umlwrap's child processes carefully close _their_ copies of all
   the fds umlwrap inherited from its parent, so as not to inhibit
   EOF on the other ends of them
 - umlwrap's protocopy_decodes now close or shutdown their wfds as
   appropriate
 - duplicate copies of outgoing non-tty fds are closed so that when
   a protocopy_decode shuts the last one it will actually help.
Additionally, I've turned the UML console pipe into a two-way
socketpair so as to put it on UML's standard input as well; my
previous solution for UML's standard input was working rather badly
because UML somehow apparently managed to write to the other end of
the pipe.

Modified files:
U   umlwrap/init.c
U   umlwrap/umlwrap.c

Links:
http://svn.tartarus.org/?rev=8086&view=rev
http://svn.tartarus.org/umlwrap/init.c?rev=8086&r1=8085&r2=8086
http://svn.tartarus.org/umlwrap/umlwrap.c?rev=8086&r1=8085&r2=8086



More information about the tartarus-commits mailing list