From b01688b07fe22b81e268ad3c908e92a54b44a019 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Fri, 29 Aug 2014 23:33:57 +0200 Subject: [PATCH] Fixed bug #43107: --line-buffer --onall does not work. --- README | 12 +++++------ configure | 20 +++++++++---------- configure.ac | 2 +- .../obs/home:tange/parallel/parallel.spec | 2 +- src/niceload | 2 +- src/parallel | 10 +++++++--- src/parallel.pod | 3 ++- src/sql | 2 +- 8 files changed, 29 insertions(+), 24 deletions(-) diff --git a/README b/README index abb6f2b8..8d3dda19 100644 --- a/README +++ b/README @@ -40,9 +40,9 @@ document. Full installation of GNU Parallel is as simple as: - wget http://ftpmirror.gnu.org/parallel/parallel-20140822.tar.bz2 - bzip2 -dc parallel-20140822.tar.bz2 | tar xvf - - cd parallel-20140822 + wget http://ftpmirror.gnu.org/parallel/parallel-20140827.tar.bz2 + bzip2 -dc parallel-20140827.tar.bz2 | tar xvf - + cd parallel-20140827 ./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 ~/bin and ~/share: - wget http://ftpmirror.gnu.org/parallel/parallel-20140822.tar.bz2 - bzip2 -dc parallel-20140822.tar.bz2 | tar xvf - - cd parallel-20140822 + wget http://ftpmirror.gnu.org/parallel/parallel-20140827.tar.bz2 + bzip2 -dc parallel-20140827.tar.bz2 | tar xvf - + cd parallel-20140827 ./configure --prefix=$HOME && make && make install Or if your system lacks 'make' you can simply copy src/parallel diff --git a/configure b/configure index e4ae80bd..8b85eac8 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # 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 . # @@ -579,8 +579,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='parallel' PACKAGE_TARNAME='parallel' -PACKAGE_VERSION='20140822' -PACKAGE_STRING='parallel 20140822' +PACKAGE_VERSION='20140827' +PACKAGE_STRING='parallel 20140827' PACKAGE_BUGREPORT='bug-parallel@gnu.org' 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. # This message is too long to be a string in the A/UX 3.1 sh. 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]... @@ -1269,7 +1269,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of parallel 20140822:";; + short | recursive ) echo "Configuration of parallel 20140827:";; esac cat <<\_ACEOF @@ -1345,7 +1345,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -parallel configure 20140822 +parallel configure 20140827 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1362,7 +1362,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while 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 $ $0 $@ @@ -2225,7 +2225,7 @@ fi # Define the identity of the package. PACKAGE='parallel' - VERSION='20140822' + VERSION='20140827' 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 # values after options handling. 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 CONFIG_FILES = $CONFIG_FILES @@ -2929,7 +2929,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -parallel config.status 20140822 +parallel config.status 20140827 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 7540a9e4..ed45511e 100644 --- a/configure.ac +++ b/configure.ac @@ -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]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([ diff --git a/packager/obs/home:tange/parallel/parallel.spec b/packager/obs/home:tange/parallel/parallel.spec index b60d1b9f..bb1f536f 100644 --- a/packager/obs/home:tange/parallel/parallel.spec +++ b/packager/obs/home:tange/parallel/parallel.spec @@ -1,6 +1,6 @@ Summary: Shell tool for executing jobs in parallel Name: parallel -Version: 20140822 +Version: 20140827 Release: 1 License: GPL Group: Productivity/File utilities diff --git a/src/niceload b/src/niceload index f2114f9b..5bcb4fad 100755 --- a/src/niceload +++ b/src/niceload @@ -24,7 +24,7 @@ use strict; use Getopt::Long; $Global::progname="niceload"; -$Global::version = 20140822; +$Global::version = 20140827; Getopt::Long::Configure("bundling","require_order"); get_options_from_array(\@ARGV) || die_usage(); if($opt::version) { diff --git a/src/parallel b/src/parallel index 3ed24e4d..87584739 100755 --- a/src/parallel +++ b/src/parallel @@ -724,7 +724,7 @@ sub get_options_from_array { sub parse_options { # Returns: N/A # Defaults: - $Global::version = 20140826; + $Global::version = 20140827; $Global::progname = 'parallel'; $Global::infinity = 2**31; $Global::debug = 0; @@ -2457,6 +2457,7 @@ sub onall { my $options = join(" ", ((defined $opt::jobs) ? "-P $opt::jobs" : ""), + ((defined $opt::linebuffer) ? "--linebuffer" : ""), ((defined $opt::u) ? "-u" : ""), ((defined $opt::group) ? "-g" : ""), ((defined $opt::keeporder) ? "--keeporder" : ""), @@ -2467,6 +2468,7 @@ sub onall { my $suboptions = join(" ", ((defined $opt::u) ? "-u" : ""), + ((defined $opt::linebuffer) ? "--linebuffer" : ""), ((defined $opt::group) ? "-g" : ""), ((defined $opt::files) ? "--files" : ""), ((defined $opt::keeporder) ? "--keeporder" : ""), @@ -3854,7 +3856,8 @@ sub processes_available_by_system_limit { if($system_limit < $wanted_processes) { # The system_limit is less than the wanted_processes 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); } if(not $more_filehandles) { @@ -3864,7 +3867,8 @@ sub processes_available_by_system_limit { } if($max_system_proc_reached) { ::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) { diff --git a/src/parallel.pod b/src/parallel.pod index 49be2588..5114025d 100644 --- a/src/parallel.pod +++ b/src/parallel.pod @@ -2329,7 +2329,8 @@ B to spawn multiple GNU Bs: 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 -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 diff --git a/src/sql b/src/sql index b8e42fd0..8e9ce393 100755 --- a/src/sql +++ b/src/sql @@ -566,7 +566,7 @@ $Global::Initfile && unlink $Global::Initfile; exit ($err); sub parse_options { - $Global::version = 20140822; + $Global::version = 20140827; $Global::progname = 'sql'; # This must be done first as this may exec myself