##// END OF EJS Templates
sshserver: redirect stdin/stdout early and use duplicated streams...
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?
Yuya Nishihara -
r37964:bfe8ef6e default
Show More
Name Size Modified Last Commit Author
/ mercurial
cext
cffi
default.d
help
hgweb
pure
templates
thirdparty
utils
__init__.py Loading ...
ancestor.py Loading ...
archival.py Loading ...
bdiff.c Loading ...
bdiff.h Loading ...
bitmanipulation.h Loading ...
bookmarks.py Loading ...
branchmap.py Loading ...
bundle2.py Loading ...
bundlerepo.py Loading ...
cacheutil.py Loading ...
changegroup.py Loading ...
changelog.py Loading ...
chgserver.py Loading ...
cmdutil.py Loading ...
color.py Loading ...
commands.py Loading ...
commandserver.py Loading ...
compat.h Loading ...
config.py Loading ...
configitems.py Loading ...
context.py Loading ...
copies.py Loading ...
crecord.py Loading ...
dagop.py Loading ...
dagparser.py Loading ...
dagutil.py Loading ...
debugcommands.py Loading ...
destutil.py Loading ...
diffhelper.py Loading ...
dirstate.py Loading ...
dirstateguard.py Loading ...
discovery.py Loading ...
dispatch.py Loading ...
dummycert.pem Loading ...
encoding.py Loading ...
error.py Loading ...
exchange.py Loading ...
exewrapper.c Loading ...
extensions.py Loading ...
fancyopts.py Loading ...
filelog.py Loading ...
filemerge.py Loading ...
fileset.py Loading ...
formatter.py Loading ...
graphmod.py Loading ...
hbisect.py Loading ...
help.py Loading ...
hg.py Loading ...
hook.py Loading ...
httpconnection.py Loading ...
httppeer.py Loading ...
i18n.py Loading ...
keepalive.py Loading ...
localrepo.py Loading ...
lock.py Loading ...
logcmdutil.py Loading ...
logexchange.py Loading ...
lsprof.py Loading ...
lsprofcalltree.py Loading ...
mail.py Loading ...
manifest.py Loading ...
match.py Loading ...
mdiff.py Loading ...
merge.py Loading ...
mergeutil.py Loading ...
minifileset.py Loading ...
minirst.py Loading ...
mpatch.c Loading ...
mpatch.h Loading ...
namespaces.py Loading ...
narrowspec.py Loading ...
node.py Loading ...
obsolete.py Loading ...
obsutil.py Loading ...
parser.py Loading ...
patch.py Loading ...
pathutil.py Loading ...
phases.py Loading ...
policy.py Loading ...
posix.py Loading ...
profiling.py Loading ...
progress.py Loading ...
pushkey.py Loading ...
pvec.py Loading ...
pycompat.py Loading ...
rcutil.py Loading ...
registrar.py Loading ...
repair.py Loading ...
repository.py Loading ...
repoview.py Loading ...
revlog.py Loading ...
revset.py Loading ...
revsetlang.py Loading ...
rewriteutil.py Loading ...
scmposix.py Loading ...
scmutil.py Loading ...
scmwindows.py Loading ...
server.py Loading ...
setdiscovery.py Loading ...
similar.py Loading ...
simplemerge.py Loading ...
smartset.py Loading ...
sparse.py Loading ...
sshpeer.py Loading ...
sslutil.py Loading ...
stack.py Loading ...
statichttprepo.py Loading ...
statprof.py Loading ...
store.py Loading ...
streamclone.py Loading ...
subrepo.py Loading ...
subrepoutil.py Loading ...
tagmerge.py Loading ...
tags.py Loading ...
templatefilters.py Loading ...
templatefuncs.py Loading ...
templatekw.py Loading ...
templater.py Loading ...
templateutil.py Loading ...
transaction.py Loading ...
treediscovery.py Loading ...
txnutil.py Loading ...
ui.py Loading ...
unionrepo.py Loading ...
upgrade.py Loading ...
url.py Loading ...
urllibcompat.py Loading ...
util.py Loading ...
verify.py Loading ...
vfs.py Loading ...
win32.py Loading ...
windows.py Loading ...
wireprotoframing.py Loading ...
wireprotoserver.py Loading ...
wireprototypes.py Loading ...
wireprotov1peer.py Loading ...
wireprotov1server.py Loading ...
wireprotov2peer.py Loading ...
wireprotov2server.py Loading ...
worker.py Loading ...