mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 05:57:54 +00:00
Released as 20110522 ('Pakistan').
This commit is contained in:
parent
59ddc7b75d
commit
e13bb81593
62
NEWS
62
NEWS
|
@ -1,3 +1,65 @@
|
||||||
|
20110522
|
||||||
|
|
||||||
|
New in this release:
|
||||||
|
|
||||||
|
* Multiple ::: can be put on the command line and will be treated
|
||||||
|
similar to contents from multiple -a's.
|
||||||
|
|
||||||
|
* ::: and :::: can now be mixed on the command line. Use {1} .. {n} to
|
||||||
|
refer to inputs from the different input sources.
|
||||||
|
|
||||||
|
* --xapply is now needed to get xapply's behaviour of reading one line
|
||||||
|
from each of the input sources.
|
||||||
|
|
||||||
|
* Multiple input sources will cause all combinations of arguments from
|
||||||
|
the sources to be generated. E.g. 'parallel echo {1}+{2} ::: 1 2 :::
|
||||||
|
a b c' will print 1+a 1+b 1+c 2+a 2+b 2+c. This can often replace
|
||||||
|
nested loops.
|
||||||
|
|
||||||
|
* Implemented {//} for the input line with the basename removed (dirname).
|
||||||
|
|
||||||
|
* New video showing the new ::: and :::: input sources.
|
||||||
|
http://tinyogg.com/watch/iOdhU/ http://www.youtube.com/watch?v=fOX1EyHkQwc
|
||||||
|
|
||||||
|
* GNU Parallel now has a logo.
|
||||||
|
http://www.gnu.org/software/parallel/logo.png
|
||||||
|
|
||||||
|
* Article about GNU SQL in USENIX Magazine ;login: (print)
|
||||||
|
http://www.usenix.org/publications/login/2011-04/
|
||||||
|
|
||||||
|
* Using GNU Parallel with EC2. Thanks to Kevin Wu.
|
||||||
|
http://blog.kevinformatics.com/post/4970574713/interested-in-your-experience-using-gnu-parallel-in
|
||||||
|
|
||||||
|
* Review with idea for {..} and {...} in Japanese. Thanks to ichii386.
|
||||||
|
http://d.hatena.ne.jp/ichii386/20110426
|
||||||
|
|
||||||
|
* Upgrade GNU Parallel using Macports. Thanks to Phil Hollenback.
|
||||||
|
http://www.hollenback.net/index.php/MacportsParallel
|
||||||
|
|
||||||
|
* Robert from Echo One discusses using processes instead of threads:
|
||||||
|
http://rrees.wordpress.com/2011/04/25/many-cores-many-threads/
|
||||||
|
|
||||||
|
* How to run GNU Parallel on a SLURM cluster. Thanks to Kevin Stock.
|
||||||
|
http://www.kevinstock.org/2011/04/using-the-ri-cluster/
|
||||||
|
|
||||||
|
* Short article about using GNU Parallel with lame:
|
||||||
|
http://loopkid.net/articles/2011/04/30/accelerate-lame-mp3-conversion
|
||||||
|
|
||||||
|
* Using GNU Parallel to run tail -f in Japanese. Thanks to Clouder.
|
||||||
|
http://blog.clouder.jp/archives/001140.html
|
||||||
|
|
||||||
|
* BBC Research & Development uses GNU Parallel:
|
||||||
|
http://www.bbc.co.uk/blogs/researchanddevelopment/2010/11/prototyping-weeknotes-41-26112.shtml
|
||||||
|
|
||||||
|
* Short article about using GNU Parallel on RHEL. Thanks to Rishi Deshpande.
|
||||||
|
http://nuclear-imaging.info/site_content/2011/05/11/gnu-parallel/
|
||||||
|
|
||||||
|
* Using GNU Parallel for FLAC->MP3 conversion. Thanks to Derek Marcotte.
|
||||||
|
http://derek.chezmarcotte.ca/?p=286
|
||||||
|
|
||||||
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
|
||||||
20110422
|
20110422
|
||||||
|
|
||||||
* {#} now works an alias for $PARALLEL_PID.
|
* {#} now works an alias for $PARALLEL_PID.
|
||||||
|
|
4
aclocal.m4
vendored
4
aclocal.m4
vendored
|
@ -13,8 +13,8 @@
|
||||||
|
|
||||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
|
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
|
||||||
[m4_warning([this file was generated for autoconf 2.67.
|
[m4_warning([this file was generated for autoconf 2.68.
|
||||||
You have another version of autoconf. It may work, but is not guaranteed to.
|
You have another version of autoconf. It may work, but is not guaranteed to.
|
||||||
If you have problems, you may need to regenerate the build system entirely.
|
If you have problems, you may need to regenerate the build system entirely.
|
||||||
To do so, use the procedure documented by the package, typically `autoreconf'.])])
|
To do so, use the procedure documented by the package, typically `autoreconf'.])])
|
||||||
|
|
135
configure
vendored
135
configure
vendored
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.67 for parallel 20110505.
|
# Generated by GNU Autoconf 2.68 for parallel 20110522.
|
||||||
#
|
#
|
||||||
# Report bugs to <bug-parallel@gnu.org>.
|
# Report bugs to <bug-parallel@gnu.org>.
|
||||||
#
|
#
|
||||||
|
@ -91,6 +91,7 @@ fi
|
||||||
IFS=" "" $as_nl"
|
IFS=" "" $as_nl"
|
||||||
|
|
||||||
# Find who we are. Look in the path if we contain no directory separator.
|
# Find who we are. Look in the path if we contain no directory separator.
|
||||||
|
as_myself=
|
||||||
case $0 in #((
|
case $0 in #((
|
||||||
*[\\/]* ) as_myself=$0 ;;
|
*[\\/]* ) as_myself=$0 ;;
|
||||||
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
@ -215,11 +216,18 @@ IFS=$as_save_IFS
|
||||||
# We cannot yet assume a decent shell, so we have to provide a
|
# We cannot yet assume a decent shell, so we have to provide a
|
||||||
# neutralization value for shells without unset; and this also
|
# neutralization value for shells without unset; and this also
|
||||||
# works around shells that cannot unset nonexistent variables.
|
# works around shells that cannot unset nonexistent variables.
|
||||||
|
# Preserve -v and -x to the replacement shell.
|
||||||
BASH_ENV=/dev/null
|
BASH_ENV=/dev/null
|
||||||
ENV=/dev/null
|
ENV=/dev/null
|
||||||
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
|
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
|
||||||
export CONFIG_SHELL
|
export CONFIG_SHELL
|
||||||
exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
|
case $- in # ((((
|
||||||
|
*v*x* | *x*v* ) as_opts=-vx ;;
|
||||||
|
*v* ) as_opts=-v ;;
|
||||||
|
*x* ) as_opts=-x ;;
|
||||||
|
* ) as_opts= ;;
|
||||||
|
esac
|
||||||
|
exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test x$as_have_required = xno; then :
|
if test x$as_have_required = xno; then :
|
||||||
|
@ -551,8 +559,8 @@ MAKEFLAGS=
|
||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='parallel'
|
PACKAGE_NAME='parallel'
|
||||||
PACKAGE_TARNAME='parallel'
|
PACKAGE_TARNAME='parallel'
|
||||||
PACKAGE_VERSION='20110505'
|
PACKAGE_VERSION='20110522'
|
||||||
PACKAGE_STRING='parallel 20110505'
|
PACKAGE_STRING='parallel 20110522'
|
||||||
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
|
@ -1030,7 +1038,7 @@ Try \`$0 --help' for more information"
|
||||||
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
|
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
|
||||||
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
|
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
|
||||||
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
|
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
|
||||||
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
|
: "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
esac
|
esac
|
||||||
|
@ -1168,7 +1176,7 @@ if test "$ac_init_help" = "long"; then
|
||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures parallel 20110505 to adapt to many kinds of systems.
|
\`configure' configures parallel 20110522 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
|
@ -1234,7 +1242,7 @@ fi
|
||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of parallel 20110505:";;
|
short | recursive ) echo "Configuration of parallel 20110522:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
|
@ -1301,8 +1309,8 @@ fi
|
||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
parallel configure 20110505
|
parallel configure 20110522
|
||||||
generated by GNU Autoconf 2.67
|
generated by GNU Autoconf 2.68
|
||||||
|
|
||||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
This configure script is free software; the Free Software Foundation
|
This configure script is free software; the Free Software Foundation
|
||||||
|
@ -1318,8 +1326,8 @@ cat >config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by parallel $as_me 20110505, which was
|
It was created by parallel $as_me 20110522, which was
|
||||||
generated by GNU Autoconf 2.67. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
|
|
||||||
|
@ -1577,7 +1585,7 @@ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
|
||||||
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||||
as_fn_error $? "failed to load site script $ac_site_file
|
as_fn_error $? "failed to load site script $ac_site_file
|
||||||
See \`config.log' for more details" "$LINENO" 5 ; }
|
See \`config.log' for more details" "$LINENO" 5; }
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -1714,7 +1722,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
|
||||||
$as_echo_n "checking for a BSD-compatible install... " >&6; }
|
$as_echo_n "checking for a BSD-compatible install... " >&6; }
|
||||||
if test -z "$INSTALL"; then
|
if test -z "$INSTALL"; then
|
||||||
if test "${ac_cv_path_install+set}" = set; then :
|
if ${ac_cv_path_install+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
@ -1801,11 +1809,11 @@ am_lf='
|
||||||
'
|
'
|
||||||
case `pwd` in
|
case `pwd` in
|
||||||
*[\\\"\#\$\&\'\`$am_lf]*)
|
*[\\\"\#\$\&\'\`$am_lf]*)
|
||||||
as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;;
|
as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
|
||||||
esac
|
esac
|
||||||
case $srcdir in
|
case $srcdir in
|
||||||
*[\\\"\#\$\&\'\`$am_lf\ \ ]*)
|
*[\\\"\#\$\&\'\`$am_lf\ \ ]*)
|
||||||
as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;;
|
as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Do `set' in a subshell so we don't clobber the current shell's
|
# Do `set' in a subshell so we don't clobber the current shell's
|
||||||
|
@ -1891,7 +1899,7 @@ if test "$cross_compiling" != no; then
|
||||||
set dummy ${ac_tool_prefix}strip; ac_word=$2
|
set dummy ${ac_tool_prefix}strip; ac_word=$2
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
if test "${ac_cv_prog_STRIP+set}" = set; then :
|
if ${ac_cv_prog_STRIP+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
if test -n "$STRIP"; then
|
if test -n "$STRIP"; then
|
||||||
|
@ -1931,7 +1939,7 @@ if test -z "$ac_cv_prog_STRIP"; then
|
||||||
set dummy strip; ac_word=$2
|
set dummy strip; ac_word=$2
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
|
if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
if test -n "$ac_ct_STRIP"; then
|
if test -n "$ac_ct_STRIP"; then
|
||||||
|
@ -1984,7 +1992,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
|
||||||
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
|
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
|
||||||
if test -z "$MKDIR_P"; then
|
if test -z "$MKDIR_P"; then
|
||||||
if test "${ac_cv_path_mkdir+set}" = set; then :
|
if ${ac_cv_path_mkdir+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
@ -2035,7 +2043,7 @@ do
|
||||||
set dummy $ac_prog; ac_word=$2
|
set dummy $ac_prog; ac_word=$2
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
if test "${ac_cv_prog_AWK+set}" = set; then :
|
if ${ac_cv_prog_AWK+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
if test -n "$AWK"; then
|
if test -n "$AWK"; then
|
||||||
|
@ -2075,7 +2083,7 @@ done
|
||||||
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
|
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
|
||||||
set x ${MAKE-make}
|
set x ${MAKE-make}
|
||||||
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
|
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
|
||||||
if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
|
if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
cat >conftest.make <<\_ACEOF
|
cat >conftest.make <<\_ACEOF
|
||||||
|
@ -2133,7 +2141,7 @@ fi
|
||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='parallel'
|
PACKAGE='parallel'
|
||||||
VERSION='20110505'
|
VERSION='20110522'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
@ -2241,10 +2249,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
|
||||||
:end' >>confcache
|
:end' >>confcache
|
||||||
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
|
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
|
||||||
if test -w "$cache_file"; then
|
if test -w "$cache_file"; then
|
||||||
test "x$cache_file" != "x/dev/null" &&
|
if test "x$cache_file" != "x/dev/null"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
|
||||||
$as_echo "$as_me: updating cache $cache_file" >&6;}
|
$as_echo "$as_me: updating cache $cache_file" >&6;}
|
||||||
cat confcache >$cache_file
|
if test ! -f "$cache_file" || test -h "$cache_file"; then
|
||||||
|
cat confcache >"$cache_file"
|
||||||
|
else
|
||||||
|
case $cache_file in #(
|
||||||
|
*/* | ?:*)
|
||||||
|
mv -f confcache "$cache_file"$$ &&
|
||||||
|
mv -f "$cache_file"$$ "$cache_file" ;; #(
|
||||||
|
*)
|
||||||
|
mv -f confcache "$cache_file" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
|
||||||
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
|
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
|
||||||
|
@ -2277,7 +2296,7 @@ LTLIBOBJS=$ac_ltlibobjs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
: ${CONFIG_STATUS=./config.status}
|
: "${CONFIG_STATUS=./config.status}"
|
||||||
ac_write_fail=0
|
ac_write_fail=0
|
||||||
ac_clean_files_save=$ac_clean_files
|
ac_clean_files_save=$ac_clean_files
|
||||||
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
|
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
|
||||||
|
@ -2378,6 +2397,7 @@ fi
|
||||||
IFS=" "" $as_nl"
|
IFS=" "" $as_nl"
|
||||||
|
|
||||||
# Find who we are. Look in the path if we contain no directory separator.
|
# Find who we are. Look in the path if we contain no directory separator.
|
||||||
|
as_myself=
|
||||||
case $0 in #((
|
case $0 in #((
|
||||||
*[\\/]* ) as_myself=$0 ;;
|
*[\\/]* ) as_myself=$0 ;;
|
||||||
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
@ -2684,8 +2704,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by parallel $as_me 20110505, which was
|
This file was extended by parallel $as_me 20110522, which was
|
||||||
generated by GNU Autoconf 2.67. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
CONFIG_HEADERS = $CONFIG_HEADERS
|
CONFIG_HEADERS = $CONFIG_HEADERS
|
||||||
|
@ -2746,8 +2766,8 @@ _ACEOF
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
parallel config.status 20110505
|
parallel config.status 20110522
|
||||||
configured by $0, generated by GNU Autoconf 2.67,
|
configured by $0, generated by GNU Autoconf 2.68,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
|
@ -2874,7 +2894,7 @@ do
|
||||||
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
|
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
|
||||||
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
|
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
|
||||||
|
|
||||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
|
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -2896,9 +2916,10 @@ fi
|
||||||
# after its creation but before its name has been assigned to `$tmp'.
|
# after its creation but before its name has been assigned to `$tmp'.
|
||||||
$debug ||
|
$debug ||
|
||||||
{
|
{
|
||||||
tmp=
|
tmp= ac_tmp=
|
||||||
trap 'exit_status=$?
|
trap 'exit_status=$?
|
||||||
{ test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
|
: "${ac_tmp:=$tmp}"
|
||||||
|
{ test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
|
||||||
' 0
|
' 0
|
||||||
trap 'as_fn_exit 1' 1 2 13 15
|
trap 'as_fn_exit 1' 1 2 13 15
|
||||||
}
|
}
|
||||||
|
@ -2906,12 +2927,13 @@ $debug ||
|
||||||
|
|
||||||
{
|
{
|
||||||
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
|
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
|
||||||
test -n "$tmp" && test -d "$tmp"
|
test -d "$tmp"
|
||||||
} ||
|
} ||
|
||||||
{
|
{
|
||||||
tmp=./conf$$-$RANDOM
|
tmp=./conf$$-$RANDOM
|
||||||
(umask 077 && mkdir "$tmp")
|
(umask 077 && mkdir "$tmp")
|
||||||
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
|
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
|
||||||
|
ac_tmp=$tmp
|
||||||
|
|
||||||
# Set up the scripts for CONFIG_FILES section.
|
# Set up the scripts for CONFIG_FILES section.
|
||||||
# No need to generate them if there are no CONFIG_FILES.
|
# No need to generate them if there are no CONFIG_FILES.
|
||||||
|
@ -2933,7 +2955,7 @@ else
|
||||||
ac_cs_awk_cr=$ac_cr
|
ac_cs_awk_cr=$ac_cr
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo 'BEGIN {' >"$tmp/subs1.awk" &&
|
echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
@ -2961,7 +2983,7 @@ done
|
||||||
rm -f conf$$subs.sh
|
rm -f conf$$subs.sh
|
||||||
|
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
|
cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
|
||||||
_ACEOF
|
_ACEOF
|
||||||
sed -n '
|
sed -n '
|
||||||
h
|
h
|
||||||
|
@ -3009,7 +3031,7 @@ t delim
|
||||||
rm -f conf$$subs.awk
|
rm -f conf$$subs.awk
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
_ACAWK
|
_ACAWK
|
||||||
cat >>"\$tmp/subs1.awk" <<_ACAWK &&
|
cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
|
||||||
for (key in S) S_is_set[key] = 1
|
for (key in S) S_is_set[key] = 1
|
||||||
FS = ""
|
FS = ""
|
||||||
|
|
||||||
|
@ -3041,7 +3063,7 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
|
||||||
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
|
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
|
||||||
else
|
else
|
||||||
cat
|
cat
|
||||||
fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
|
fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|
||||||
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
|
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
|
@ -3075,7 +3097,7 @@ fi # test -n "$CONFIG_FILES"
|
||||||
# No need to generate them if there are no CONFIG_HEADERS.
|
# No need to generate them if there are no CONFIG_HEADERS.
|
||||||
# This happens for instance with `./config.status Makefile'.
|
# This happens for instance with `./config.status Makefile'.
|
||||||
if test -n "$CONFIG_HEADERS"; then
|
if test -n "$CONFIG_HEADERS"; then
|
||||||
cat >"$tmp/defines.awk" <<\_ACAWK ||
|
cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
|
||||||
BEGIN {
|
BEGIN {
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
|
@ -3087,8 +3109,8 @@ _ACEOF
|
||||||
# handling of long lines.
|
# handling of long lines.
|
||||||
ac_delim='%!_!# '
|
ac_delim='%!_!# '
|
||||||
for ac_last_try in false false :; do
|
for ac_last_try in false false :; do
|
||||||
ac_t=`sed -n "/$ac_delim/p" confdefs.h`
|
ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
|
||||||
if test -z "$ac_t"; then
|
if test -z "$ac_tt"; then
|
||||||
break
|
break
|
||||||
elif $ac_last_try; then
|
elif $ac_last_try; then
|
||||||
as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
|
as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
|
||||||
|
@ -3189,7 +3211,7 @@ do
|
||||||
esac
|
esac
|
||||||
case $ac_mode$ac_tag in
|
case $ac_mode$ac_tag in
|
||||||
:[FHL]*:*);;
|
:[FHL]*:*);;
|
||||||
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
|
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
|
||||||
:[FH]-) ac_tag=-:-;;
|
:[FH]-) ac_tag=-:-;;
|
||||||
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
|
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
|
||||||
esac
|
esac
|
||||||
|
@ -3208,7 +3230,7 @@ do
|
||||||
for ac_f
|
for ac_f
|
||||||
do
|
do
|
||||||
case $ac_f in
|
case $ac_f in
|
||||||
-) ac_f="$tmp/stdin";;
|
-) ac_f="$ac_tmp/stdin";;
|
||||||
*) # Look for the file first in the build tree, then in the source tree
|
*) # Look for the file first in the build tree, then in the source tree
|
||||||
# (if the path is not absolute). The absolute path cannot be DOS-style,
|
# (if the path is not absolute). The absolute path cannot be DOS-style,
|
||||||
# because $ac_f cannot contain `:'.
|
# because $ac_f cannot contain `:'.
|
||||||
|
@ -3217,7 +3239,7 @@ do
|
||||||
[\\/$]*) false;;
|
[\\/$]*) false;;
|
||||||
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
|
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
|
||||||
esac ||
|
esac ||
|
||||||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
|
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
|
||||||
esac
|
esac
|
||||||
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
|
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
|
||||||
as_fn_append ac_file_inputs " '$ac_f'"
|
as_fn_append ac_file_inputs " '$ac_f'"
|
||||||
|
@ -3243,8 +3265,8 @@ $as_echo "$as_me: creating $ac_file" >&6;}
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case $ac_tag in
|
case $ac_tag in
|
||||||
*:-:* | *:-) cat >"$tmp/stdin" \
|
*:-:* | *:-) cat >"$ac_tmp/stdin" \
|
||||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
|
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -3380,21 +3402,22 @@ s&@INSTALL@&$ac_INSTALL&;t t
|
||||||
s&@MKDIR_P@&$ac_MKDIR_P&;t t
|
s&@MKDIR_P@&$ac_MKDIR_P&;t t
|
||||||
$ac_datarootdir_hack
|
$ac_datarootdir_hack
|
||||||
"
|
"
|
||||||
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
|
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
|
||||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
>$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||||
|
|
||||||
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
|
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
|
||||||
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
|
{ ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
|
||||||
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
|
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
|
||||||
|
"$ac_tmp/out"`; test -z "$ac_out"; } &&
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
|
||||||
which seems to be undefined. Please make sure it is defined" >&5
|
which seems to be undefined. Please make sure it is defined" >&5
|
||||||
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
|
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
|
||||||
which seems to be undefined. Please make sure it is defined" >&2;}
|
which seems to be undefined. Please make sure it is defined" >&2;}
|
||||||
|
|
||||||
rm -f "$tmp/stdin"
|
rm -f "$ac_tmp/stdin"
|
||||||
case $ac_file in
|
case $ac_file in
|
||||||
-) cat "$tmp/out" && rm -f "$tmp/out";;
|
-) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
|
||||||
*) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
|
*) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
|
||||||
esac \
|
esac \
|
||||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||||
;;
|
;;
|
||||||
|
@ -3405,20 +3428,20 @@ which seems to be undefined. Please make sure it is defined" >&2;}
|
||||||
if test x"$ac_file" != x-; then
|
if test x"$ac_file" != x-; then
|
||||||
{
|
{
|
||||||
$as_echo "/* $configure_input */" \
|
$as_echo "/* $configure_input */" \
|
||||||
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
|
&& eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
|
||||||
} >"$tmp/config.h" \
|
} >"$ac_tmp/config.h" \
|
||||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||||
if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
|
if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
|
||||||
$as_echo "$as_me: $ac_file is unchanged" >&6;}
|
$as_echo "$as_me: $ac_file is unchanged" >&6;}
|
||||||
else
|
else
|
||||||
rm -f "$ac_file"
|
rm -f "$ac_file"
|
||||||
mv "$tmp/config.h" "$ac_file" \
|
mv "$ac_tmp/config.h" "$ac_file" \
|
||||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
$as_echo "/* $configure_input */" \
|
$as_echo "/* $configure_input */" \
|
||||||
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
|
&& eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
|
||||||
|| as_fn_error $? "could not create -" "$LINENO" 5
|
|| as_fn_error $? "could not create -" "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
# Compute "$ac_file"'s index in $config_headers.
|
# Compute "$ac_file"'s index in $config_headers.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
AC_INIT([parallel], [20110505], [bug-parallel@gnu.org])
|
AC_INIT([parallel], [20110522], [bug-parallel@gnu.org])
|
||||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
Dont start new job if:
|
||||||
|
|
||||||
|
* load is too high
|
||||||
|
* memory free is too low
|
||||||
|
|
||||||
Video 30. 36. 41. 48
|
Video 30. 36. 41. 48
|
||||||
|
|
||||||
|
|
||||||
|
@ -231,12 +236,8 @@ for potentiel:
|
||||||
colsep = [sepchars]{no_of_sepchars}
|
colsep = [sepchars]{no_of_sepchars}
|
||||||
|
|
||||||
|
|
||||||
# Hvordan udregnes system limits på remote systems hvis jeg ikke ved, hvormange
|
|
||||||
# argumenter, der er? Lav system limits lokalt og lad det være max
|
|
||||||
|
|
||||||
# TODO max_line_length on remote
|
# TODO max_line_length on remote
|
||||||
# TODO compute how many can be transferred within max_line_length
|
# TODO compute how many can be transferred within max_line_length
|
||||||
# TODO Unittest with filename that is long and requires a lot of quoting. Will there be to many
|
|
||||||
|
|
||||||
=head1 YouTube video --pipe
|
=head1 YouTube video --pipe
|
||||||
|
|
||||||
|
@ -604,9 +605,6 @@ En ssh med 20% loss og 900 ms delay, så kan login nås på 15 sek.
|
||||||
|
|
||||||
Test if -0 works on filenames ending in '\n'
|
Test if -0 works on filenames ending in '\n'
|
||||||
|
|
||||||
If there are nomore jobs (STDIN is eof) then make sure to
|
|
||||||
distribute the arguments evenly if running -X.
|
|
||||||
|
|
||||||
|
|
||||||
=head1 options
|
=head1 options
|
||||||
|
|
||||||
|
|
|
@ -158,9 +158,9 @@ cc:Peter Simons <simons@cryp.to>, Sandro Cazzaniga <kharec@mandriva.org>,
|
||||||
Christian Faulhammer <fauli@gentoo.org>, Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
Christian Faulhammer <fauli@gentoo.org>, Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
||||||
Jesse Alama <jesse.alama@gmail.com>
|
Jesse Alama <jesse.alama@gmail.com>
|
||||||
|
|
||||||
Subject: GNU Parallel 2011XX22 ('Pakistan') released
|
Subject: GNU Parallel 20110522 ('Pakistan') released
|
||||||
|
|
||||||
GNU Parallel 2011XX22 ('Pakistan') has been released. It is
|
GNU Parallel 20115022 ('Pakistan') has been released. It is
|
||||||
available for download at: http://ftp.gnu.org/gnu/parallel/
|
available for download at: http://ftp.gnu.org/gnu/parallel/
|
||||||
|
|
||||||
This is a major release. So far GNU Parallel has been focused on
|
This is a major release. So far GNU Parallel has been focused on
|
||||||
|
@ -188,6 +188,9 @@ New in this release:
|
||||||
|
|
||||||
* Implemented {//} for the input line with the basename removed (dirname).
|
* Implemented {//} for the input line with the basename removed (dirname).
|
||||||
|
|
||||||
|
* New video showing the new ::: and :::: input sources.
|
||||||
|
http://tinyogg.com/watch/iOdhU/ http://www.youtube.com/watch?v=fOX1EyHkQwc
|
||||||
|
|
||||||
* GNU Parallel now has a logo.
|
* GNU Parallel now has a logo.
|
||||||
http://www.gnu.org/software/parallel/logo.png
|
http://www.gnu.org/software/parallel/logo.png
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,5 @@ all:
|
||||||
cp ../debian/parallel_*.dsc ../debian/parallel_*.tar.gz home\:tange/parallel/
|
cp ../debian/parallel_*.dsc ../debian/parallel_*.tar.gz home\:tange/parallel/
|
||||||
cp `ls ../../parallel-*.tar.bz2|tail -n1` home\:tange/parallel/
|
cp `ls ../../parallel-*.tar.bz2|tail -n1` home\:tange/parallel/
|
||||||
cd home\:tange/parallel/ && osc up
|
cd home\:tange/parallel/ && osc up
|
||||||
cd home\:tange/parallel/ && osc add *.dsc *.tar.gz *.tar.bz2 && echo Src added OK || true
|
cd home\:tange/parallel/ && parallel osc add ::: *.spec *.dsc *.tar.gz *.tar.bz2 && echo Src added OK || true
|
||||||
cd home\:tange/parallel/ && osc add *.spec && echo spec added OK || true
|
|
||||||
cd home\:tange/parallel/ && osc ci
|
cd home\:tange/parallel/ && osc ci
|
||||||
|
|
|
@ -236,7 +236,7 @@ B<parallel>(1), B<nice>(1)
|
||||||
use strict;
|
use strict;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
$Global::progname="niceload";
|
$Global::progname="niceload";
|
||||||
$Global::version = 20110505;
|
$Global::version = 20110522;
|
||||||
Getopt::Long::Configure("bundling","require_order");
|
Getopt::Long::Configure("bundling","require_order");
|
||||||
get_options_from_array(\@ARGV) || die_usage();
|
get_options_from_array(\@ARGV) || die_usage();
|
||||||
if($::opt_version) {
|
if($::opt_version) {
|
||||||
|
|
|
@ -406,7 +406,7 @@ sub get_options_from_array {
|
||||||
sub parse_options {
|
sub parse_options {
|
||||||
# Returns: N/A
|
# Returns: N/A
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20110505;
|
$Global::version = 20110522;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
$Global::debug = 0;
|
$Global::debug = 0;
|
||||||
|
|
2
src/sql
2
src/sql
|
@ -536,7 +536,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
||||||
exit ($err);
|
exit ($err);
|
||||||
|
|
||||||
sub parse_options {
|
sub parse_options {
|
||||||
$Global::version = 20110505;
|
$Global::version = 20110522;
|
||||||
$Global::progname = 'sql';
|
$Global::progname = 'sql';
|
||||||
|
|
||||||
# This must be done first as this may exec myself
|
# This must be done first as this may exec myself
|
||||||
|
|
|
@ -5,6 +5,22 @@ echo '### Test bug https://savannah.gnu.org/bugs/index.php?33352'
|
||||||
# produce input slowly to parallel so that it will reap a process
|
# produce input slowly to parallel so that it will reap a process
|
||||||
# while blocking in read()
|
# while blocking in read()
|
||||||
|
|
||||||
|
# Having found the solution it is suddenly very easy to reproduce the
|
||||||
|
# problem - even on other hardware:
|
||||||
|
#
|
||||||
|
# perl -e '@x=1 .. 17000; for(1..30) { print "@x\n"}' | pv -qL 200000
|
||||||
|
# |parallel -j2 --pipe --keeporder --block 150000 cat | md5sum
|
||||||
|
#
|
||||||
|
# This gives different md5sums for each run.
|
||||||
|
#
|
||||||
|
# The problem is that read(STDIN) is being interrupted by a dead
|
||||||
|
# child. The chance of this happening is very small if there are few
|
||||||
|
# children dying or read(STDIN) never has to wait for data.
|
||||||
|
#
|
||||||
|
# The test above forces data to arrive slowly (using pv) which causes
|
||||||
|
# read(STDIN) to take a long time - thus being interrupted by a dead
|
||||||
|
# child.
|
||||||
|
|
||||||
MD5=md5sum
|
MD5=md5sum
|
||||||
PAR="parallel -j2 --pipe --keeporder --block 150000 --tmpdir=/dev/shm"
|
PAR="parallel -j2 --pipe --keeporder --block 150000 --tmpdir=/dev/shm"
|
||||||
perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | md5sum
|
perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | md5sum
|
||||||
|
|
Loading…
Reference in a new issue