Fixed bug #43107: --line-buffer --onall does not work.

This commit is contained in:
Ole Tange 2014-08-29 23:33:57 +02:00
parent 75d055970f
commit b01688b07f
8 changed files with 29 additions and 24 deletions

12
README
View file

@ -40,9 +40,9 @@ document.
Full installation of GNU Parallel is as simple as: Full installation of GNU Parallel is as simple as:
wget http://ftpmirror.gnu.org/parallel/parallel-20140822.tar.bz2 wget http://ftpmirror.gnu.org/parallel/parallel-20140827.tar.bz2
bzip2 -dc parallel-20140822.tar.bz2 | tar xvf - bzip2 -dc parallel-20140827.tar.bz2 | tar xvf -
cd parallel-20140822 cd parallel-20140827
./configure && make && make install ./configure && make && make install
@ -51,9 +51,9 @@ Full installation of GNU Parallel is as simple as:
If you are not root you can add ~/bin to your path and install in If you are not root you can add ~/bin to your path and install in
~/bin and ~/share: ~/bin and ~/share:
wget http://ftpmirror.gnu.org/parallel/parallel-20140822.tar.bz2 wget http://ftpmirror.gnu.org/parallel/parallel-20140827.tar.bz2
bzip2 -dc parallel-20140822.tar.bz2 | tar xvf - bzip2 -dc parallel-20140827.tar.bz2 | tar xvf -
cd parallel-20140822 cd parallel-20140827
./configure --prefix=$HOME && make && make install ./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel Or if your system lacks 'make' you can simply copy src/parallel

20
configure vendored
View file

@ -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.69 for parallel 20140822. # Generated by GNU Autoconf 2.69 for parallel 20140827.
# #
# Report bugs to <bug-parallel@gnu.org>. # Report bugs to <bug-parallel@gnu.org>.
# #
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='parallel' PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel' PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20140822' PACKAGE_VERSION='20140827'
PACKAGE_STRING='parallel 20140822' PACKAGE_STRING='parallel 20140827'
PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL='' PACKAGE_URL=''
@ -1203,7 +1203,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 20140822 to adapt to many kinds of systems. \`configure' configures parallel 20140827 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1269,7 +1269,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 20140822:";; short | recursive ) echo "Configuration of parallel 20140827:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1345,7 +1345,7 @@ 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 20140822 parallel configure 20140827
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -1362,7 +1362,7 @@ 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 20140822, which was It was created by parallel $as_me 20140827, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2225,7 +2225,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='parallel' PACKAGE='parallel'
VERSION='20140822' VERSION='20140827'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -2867,7 +2867,7 @@ 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 20140822, which was This file was extended by parallel $as_me 20140827, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -2929,7 +2929,7 @@ _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 20140822 parallel config.status 20140827
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View file

@ -1,4 +1,4 @@
AC_INIT([parallel], [20140822], [bug-parallel@gnu.org]) AC_INIT([parallel], [20140827], [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([

View file

@ -1,6 +1,6 @@
Summary: Shell tool for executing jobs in parallel Summary: Shell tool for executing jobs in parallel
Name: parallel Name: parallel
Version: 20140822 Version: 20140827
Release: 1 Release: 1
License: GPL License: GPL
Group: Productivity/File utilities Group: Productivity/File utilities

View file

@ -24,7 +24,7 @@
use strict; use strict;
use Getopt::Long; use Getopt::Long;
$Global::progname="niceload"; $Global::progname="niceload";
$Global::version = 20140822; $Global::version = 20140827;
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) {

View file

@ -724,7 +724,7 @@ sub get_options_from_array {
sub parse_options { sub parse_options {
# Returns: N/A # Returns: N/A
# Defaults: # Defaults:
$Global::version = 20140826; $Global::version = 20140827;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$Global::infinity = 2**31; $Global::infinity = 2**31;
$Global::debug = 0; $Global::debug = 0;
@ -2457,6 +2457,7 @@ sub onall {
my $options = my $options =
join(" ", join(" ",
((defined $opt::jobs) ? "-P $opt::jobs" : ""), ((defined $opt::jobs) ? "-P $opt::jobs" : ""),
((defined $opt::linebuffer) ? "--linebuffer" : ""),
((defined $opt::u) ? "-u" : ""), ((defined $opt::u) ? "-u" : ""),
((defined $opt::group) ? "-g" : ""), ((defined $opt::group) ? "-g" : ""),
((defined $opt::keeporder) ? "--keeporder" : ""), ((defined $opt::keeporder) ? "--keeporder" : ""),
@ -2467,6 +2468,7 @@ sub onall {
my $suboptions = my $suboptions =
join(" ", join(" ",
((defined $opt::u) ? "-u" : ""), ((defined $opt::u) ? "-u" : ""),
((defined $opt::linebuffer) ? "--linebuffer" : ""),
((defined $opt::group) ? "-g" : ""), ((defined $opt::group) ? "-g" : ""),
((defined $opt::files) ? "--files" : ""), ((defined $opt::files) ? "--files" : ""),
((defined $opt::keeporder) ? "--keeporder" : ""), ((defined $opt::keeporder) ? "--keeporder" : ""),
@ -3854,7 +3856,8 @@ sub processes_available_by_system_limit {
if($system_limit < $wanted_processes) { if($system_limit < $wanted_processes) {
# The system_limit is less than the wanted_processes # The system_limit is less than the wanted_processes
if($system_limit < 1 and not $Global::JobQueue->empty()) { if($system_limit < 1 and not $Global::JobQueue->empty()) {
::warning("Cannot spawn any jobs. Raising ulimit -u or /etc/security/limits.conf may help.\n"); ::warning("Cannot spawn any jobs. Raising ulimit -u or /etc/security/limits.conf\n",
"or /proc/sys/kernel/pid_max may help.\n");
::wait_and_exit(255); ::wait_and_exit(255);
} }
if(not $more_filehandles) { if(not $more_filehandles) {
@ -3864,7 +3867,8 @@ sub processes_available_by_system_limit {
} }
if($max_system_proc_reached) { if($max_system_proc_reached) {
::warning("Only enough available processes to run ", $system_limit, ::warning("Only enough available processes to run ", $system_limit,
" jobs in parallel. Raising ulimit -u or /etc/security/limits.conf may help.\n"); " jobs in parallel. Raising ulimit -u or /etc/security/limits.conf\n",
"or /proc/sys/kernel/pid_max may help.\n");
} }
} }
if($] == 5.008008 and $system_limit > 1000) { if($] == 5.008008 and $system_limit > 1000) {

View file

@ -2329,7 +2329,8 @@ B<parallel> to spawn multiple GNU B<parallel>s:
If B<-j0> normally spawns 252 jobs, then the above will try to spawn If B<-j0> normally spawns 252 jobs, then the above will try to spawn
2520 jobs. On a normal GNU/Linux system you can spawn 32000 jobs using 2520 jobs. On a normal GNU/Linux system you can spawn 32000 jobs using
this technique with no problems. this technique with no problems. To raise the 32000 jobs limit raise
/proc/sys/kernel/pid_max to 4194303.
=head1 EXAMPLE: Using shell variables =head1 EXAMPLE: Using shell variables

View file

@ -566,7 +566,7 @@ $Global::Initfile && unlink $Global::Initfile;
exit ($err); exit ($err);
sub parse_options { sub parse_options {
$Global::version = 20140822; $Global::version = 20140827;
$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