diff -ruN e-smith-backup-2.2.0.old/root/etc/e-smith/events/actions/workstation-backup-dar e-smith-backup-2.2.0/root/etc/e-smith/events/actions/workstation-backup-dar --- e-smith-backup-2.2.0.old/root/etc/e-smith/events/actions/workstation-backup-dar 2014-01-11 08:59:09.000000000 -0800 +++ e-smith-backup-2.2.0/root/etc/e-smith/events/actions/workstation-backup-dar 2014-01-11 15:06:56.000000000 -0800 @@ -401,15 +401,18 @@ my @bknum; my @setd; my @bkname; -open(DAR_LIST, "/usr/bin/dar_manager -Q -B $catalog -l |"); +my $pid = open (DAR_LIST, "-|", "/usr/bin/dar_manager", "-Q", "-B", "$catalog", "-l") or ldie ("Cannot start : $!"); while () { - next unless ($_ =~ /set/); - chomp; - ($bknum[$i], $setd[$i], $bkname[$i]) = split(' ', $_, 3); - $i++; + next unless ($_ =~ /set/); + chomp; + ($bknum[$i], $setd[$i], $bkname[$i]) = split(' ', $_, 3); + $i++; } +waitpid ($pid, 0); +$err = WEXITSTATUS($?); close (DAR_LIST); +ldie ("Catalog error : $err") if $err; # delete from catalog old removed backups