Passes testsuite.
This commit is contained in:
Ole Tange 2011-05-21 08:42:10 +02:00
parent 10ac95d29a
commit 59ddc7b75d
4 changed files with 38 additions and 2 deletions

View file

@ -121,6 +121,7 @@ sub spreadstdin {
while(read(STDIN,substr($buf,length $buf,0),$::opt_blocksize)) { while(read(STDIN,substr($buf,length $buf,0),$::opt_blocksize)) {
# substr above = append to $buf # substr above = append to $buf
reap_if_needed(); # Re-enable reaping after read() (Bug#33352)
if($::opt_regexp) { if($::opt_regexp) {
if($Global::max_number_of_args) { if($Global::max_number_of_args) {
# -N => (start..*?end){n} # -N => (start..*?end){n}
@ -160,6 +161,7 @@ sub spreadstdin {
} }
} }
} }
do_not_reap(); # Disable reaping before read(STDIN) (Bug#33352)
} }
# If there is anything left in the buffer write it # If there is anything left in the buffer write it
write_record_to_pipe(\$buf,$recstart,$recend); write_record_to_pipe(\$buf,$recstart,$recend);

View file

@ -0,0 +1,26 @@
#!/bin/bash
echo '### Test bug https://savannah.gnu.org/bugs/index.php?33352'
# produce input slowly to parallel so that it will reap a process
# while blocking in read()
MD5=md5sum
PAR="parallel -j2 --pipe --keeporder --block 150000 --tmpdir=/dev/shm"
perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | md5sum
nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | \
$PAR cat | md5sum &
nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | \
$PAR --recend '' cat | md5sum &
nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | \
$PAR --recend '' --files cat | parallel -Xj1 cat {}';'rm {} | md5sum &
nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | \
$PAR --recend '' --files cat | parallel -Xj1 cat {}';'rm {} | md5sum &
nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | \
$PAR --recend '' --files --tmpdir /dev/shm cat | parallel -Xj1 cat {}';'rm {} | md5sum &
nice nice perl -e '@x=1 .. 17000; for(1..100) { print "@x\n"}' | pv -qL 1000000 | \
$PAR --recend '' --files --halt-on-error 2 cat | parallel -Xj1 cat {}';'rm {} | md5sum &
wait

View file

@ -51,8 +51,8 @@ mysql -C --host=localhost --user=sqlunittest --port=3306 --password=CB5A1FFF
Test if --debug works Test if --debug works
Yes it does Yes it does
### Test --version -V ### Test --version -V
7 43 306 12 74 500
7 43 306 12 74 500
### Test -r ### Test -r
dburl pg://nongood@127.0.0.3:2227/ dburl pg://nongood@127.0.0.3:2227/
databasedriver pg user nongood password host 127.0.0.3 port 2227 database query databasedriver pg user nongood password host 127.0.0.3 port 2227 database query

View file

@ -0,0 +1,8 @@
### Test bug https://savannah.gnu.org/bugs/index.php?33352
350eda13a37912d755c9d733d149bdaf -
350eda13a37912d755c9d733d149bdaf -
350eda13a37912d755c9d733d149bdaf -
350eda13a37912d755c9d733d149bdaf -
350eda13a37912d755c9d733d149bdaf -
350eda13a37912d755c9d733d149bdaf -
350eda13a37912d755c9d733d149bdaf -