##// END OF EJS Templates
worker: ability to disable thread unsafe tasks...
worker: ability to disable thread unsafe tasks The worker on Windows is implemented using a thread pool. If worker tasks are not thread safe, badness can occur. In addition, if tasks are executing CPU bound code and holding onto the GIL, there will be non-substantial overhead in Python context switching between active threads. This can result in significant slowdowns of tasks. This commit teaches the code for determining whether to use a worker to take thread safety into account. Effectively, thread unsafe tasks don't use the thread-based worker on Windows. Differential Revision: https://phab.mercurial-scm.org/D3962

File last commit:

r13515:26163257 1.8 stable
r38754:ef3838a4 default
Show More
tcsh_completion_build.sh
74 lines | 1.9 KiB | application/x-sh | BashLexer
/ contrib / tcsh_completion_build.sh
#!/bin/sh
#
# tcsh_completion_build.sh - script to generate tcsh completion
#
#
# Copyright (C) 2005 TK Soh.
#
# This is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
#
# Description
# -----------
# This script generates a tcsh source file to support completion
# of Mercurial commands and options.
#
# Instruction:
# -----------
# Run this script to generate the tcsh source file, and source
# the file to add command completion support for Mercurial.
#
# tcsh% tcsh_completion.sh FILE
# tcsh% source FILE
#
# If FILE is not specified, tcsh_completion will be generated.
#
# Bugs:
# ----
# 1. command specific options are not supported
# 2. hg commands must be specified immediately after 'hg'.
#
tcsh_file=${1-tcsh_completion}
hg_commands=`hg --debug help | \
sed -e '1,/^list of commands:/d' \
-e '/^enabled extensions:/,$d' \
-e '/^additional help topics:/,$d' \
-e '/^ [^ ]/!d; s/[,:]//g;' | \
xargs -n5 | \
sed -e '$!s/$/ \\\\/g; 2,$s/^ */ /g'`
hg_global_options=`hg -v help | \
sed -e '1,/global/d;/^ *-/!d; s/ [^- ].*//' | \
sed -e 's/ *$//; $!s/$/ \\\\/g; 2,$s/^ */ /g'`
hg_version=`hg version | sed -e '1q'`
script_name=`basename $0`
cat > $tcsh_file <<END
#
# tcsh completion for Mercurial
#
# This file has been auto-generated by $script_name for
# $hg_version
#
# Copyright (C) 2005 TK Soh.
#
# This is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
complete hg \\
'n/--cwd/d/' 'n/-R/d/' 'n/--repository/d/' \\
'C/-/($hg_global_options)/' \\
'p/1/($hg_commands)/'
END