Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: [vincent@xxxxxxxxxx: Re: Bug#205685: clone corruption]
- X-seq: zsh-workers 20225
- From: Clint Adams <clint@xxxxxxx>
- To: Philippe Troin <phil@xxxxxxxx>
- Subject: Re: [vincent@xxxxxxxxxx: Re: Bug#205685: clone corruption]
- Date: Fri, 30 Jul 2004 12:04:10 -0400
- Cc: zsh-workers@xxxxxxxxxx, 205685@xxxxxxxxxxxxxxx
- In-reply-to: <87isc767g9.fsf@xxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <20040720181612.GA18242@xxxxxxxxxxx> <87658ifrga.fsf@xxxxxxxxxxxxxxxx> <20040728155035.GA17226@xxxxxxxxxxx> <87isc767g9.fsf@xxxxxxxxxxxxxxxx>
> Hope that explains clone better.
Good now?
Index: Doc/Zsh/mod_clone.yo
===================================================================
RCS file: /cvsroot/zsh/zsh/Doc/Zsh/mod_clone.yo,v
retrieving revision 1.1.1.8
diff -u -r1.1.1.8 mod_clone.yo
--- Doc/Zsh/mod_clone.yo 20 Dec 1999 11:24:39 -0000 1.1.1.8
+++ Doc/Zsh/mod_clone.yo 30 Jul 2004 16:02:38 -0000
@@ -16,5 +16,32 @@
The return value of the builtin is zero in both shells if successful,
and non-zero on error.
+
+The target of tt(clone) should be an unused terminal, such as an unused virtual
+console or a virtual terminal created by
+
+xterm -e sh -c 'trap : INT QUIT TSTP; tty; while :; do sleep 100000000; done'
+
+Some words of explanation are warranted about this long xterm command
+line: when doing clone on a pseudo-terminal, some other session
+("session" meant as a unix session group, or SID) is already owning
+the terminal. Hence the cloned zsh cannot acquire the pseudo-terminal
+as a controlling tty. That means two things:
+
+ the job control signals will go to the sh-started-by-xterm process
+ group (that's why we disable INT QUIT and TSTP with trap; otherwise
+ the while loop could get suspended or killed)
+
+ the cloned shell will have job control disabled, and the job
+ control keys (control-C, control-\ and control-Z) will not work.
+
+This does not apply when cloning to an bf(unused) vc.
+
+Cloning to an used (and unprepared) terminal will result in two
+processes reading simultaneously from the same terminal, with
+input bytes going randomly to either process.
+
+tt(clone) is mostly useful as a shell built-in replacement for
+openvt.
)
enditem()
Messages sorted by:
Reverse Date,
Date,
Thread,
Author