mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-25 23:47:53 +00:00
Fixed bug #44667: Reaping children should be done closer to child death.
This commit is contained in:
parent
0bf3464301
commit
0094c81f9b
|
@ -235,6 +235,8 @@ taxator-tk http://algbio.cs.uni-duesseldorf.de/webapps/wa-download/ (check it)
|
|||
|
||||
* GNU Parallel was used in: https://github.com/exascience/elprep
|
||||
|
||||
* Pictures and Metadata http://www.ozzy.no/2015/02/05/pictures-and-metadata/
|
||||
|
||||
* Add an ENVI header to JAXA Global Mangrove Watch PALSAR tiles https://spectraldifferences.wordpress.com/2015/03/24/add-an-envi-header-to-jaxa-global-mangrove-watch-palsar-tiles/
|
||||
|
||||
* GNU Parallel (Sebuah Uji Coba) http://kaka.prakasa.my.id/2014/09/04/gnu-parallel-sebuah-uji-coba/
|
||||
|
|
|
@ -2003,7 +2003,7 @@ sub drain_job_queue {
|
|||
$sleep = $sleep/2+0.001;
|
||||
}
|
||||
}
|
||||
# Sometimes SIGCHLD is not registered, so force reaper
|
||||
# Exponential back-off sleeping
|
||||
$sleep = ::reap_usleep($sleep);
|
||||
}
|
||||
if(not $Global::JobQueue->empty()) {
|
||||
|
@ -2886,6 +2886,9 @@ sub save_original_signal_handler {
|
|||
unlink keys %Global::unlink; exit -1 };
|
||||
%Global::original_sig = %SIG;
|
||||
$SIG{TERM} = sub {}; # Dummy until jobs really start
|
||||
# When a child dies, wake up from sleep (or select(,,,))
|
||||
$SIG{CHLD} = sub { kill "ALRM", $$ };
|
||||
$SIG{ALRM} = 'IGNORE';
|
||||
}
|
||||
|
||||
sub list_running_jobs {
|
||||
|
@ -3551,7 +3554,7 @@ sub reap_usleep {
|
|||
$job->print();
|
||||
}
|
||||
}
|
||||
# Sleep exponentially longer (1.1^n) if a job did not finish
|
||||
# Sleep exponentially longer (1.1^n) if a job did not finish,
|
||||
# though at most 1000 ms.
|
||||
return (($ms < 1000) ? ($ms * 1.1) : ($ms));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue