Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: [vincent@xxxxxxxxxx: Re: Bug#205685: clone corruption]



Clint Adams <clint@xxxxxxx> writes:

> > Hope that explains clone better.
> 
> Good now?

Yes.

Phil.

> 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