[PATCH 3 of 3] sshserver: redirect stdin/stdout early and use duplicated streams
Yuya Nishihara
yuya at tcha.org
Tue May 8 11:53:12 UTC 2018
On Tue, 08 May 2018 00:00:57 -0400, Matt Harbison wrote:
> On Mon, 07 May 2018 09:11:24 -0400, Yuya Nishihara <yuya at tcha.org> wrote:
> > # HG changeset patch
> > # User Yuya Nishihara <yuya at tcha.org>
> > # Date 1521964053 -32400
> > # Sun Mar 25 16:47:33 2018 +0900
> > # Node ID a7e53b70e5026bac9772f9869e754a2a6f530587
> > # Parent ea801aa5d559e37f68fb9bdda47dec6e58abcb88
> > sshserver: redirect stdin/stdout early and use duplicated streams
> >
> > This is what we achieved with hook.redirect(True) plus ui.fout = ui.ferr.
> >
> > The hook.redirect() function can't be completely removed yet since hgweb
> > still depends on it. I'm not sure if it is necessary for WSGI servers.
> > CGI
> > needs it, but does WSGI communicate over stdin/stdout channels?
>
> Not sure if this is what you meant, but printing to stderr from
> hgweb/wireprotocol code landed in the error log for SCM Manager, which was
> nice.
stderr is unaffected by hook.redirect().
We know stdin/stdout is the IPC channel for SSH/CGI protocols so we need
either hook.redirect() or procutil.protectstdio(), but I have no idea about
the other types of WSGI frontends.
More information about the Mercurial-devel
mailing list