X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=bin%2FBackupPC_dump;h=988d3a6be4073c517af84500f8a52c2ddc5f4902;hp=9dfd6c1d603bc673d6e4af07047a2fa3cab33d7d;hb=refs%2Ftags%2Fv3_2_0;hpb=ebdf1cd5a70311502df65c60c3ad828bd0c6cf49 diff --git a/bin/BackupPC_dump b/bin/BackupPC_dump index 9dfd6c1..988d3a6 100755 --- a/bin/BackupPC_dump +++ b/bin/BackupPC_dump @@ -77,7 +77,7 @@ # #======================================================================== # -# Version 3.2.0beta0, released 5 April 2009. +# Version 3.2.0, released 31 Jul 2010. # # See http://backuppc.sourceforge.net. # @@ -623,6 +623,7 @@ $NeedPostCmd = 1; # # Now backup each of the shares # +my $shareDuplicate = {}; for my $shareName ( @$ShareNames ) { local(*RH, *WH); @@ -632,11 +633,17 @@ for my $shareName ( @$ShareNames ) { $shareName = encode("utf8", $shareName); $stat{xferOK} = $stat{hostAbort} = undef; $stat{hostError} = $stat{lastOutputLine} = undef; - if ( -d "$Dir/new/$shareName" ) { + if ( $shareName eq "" ) { + print(LOG $bpc->timeStamp, + "unexpected empty share name skipped\n"); + next; + } + if ( $shareDuplicate->{$shareName} ) { print(LOG $bpc->timeStamp, "unexpected repeated share name $shareName skipped\n"); next; } + $shareDuplicate->{$shareName} = 1; UserCommandRun("DumpPreShareCmd", $shareName); if ( $? && $Conf{UserCmdCheckStatus} ) { @@ -915,6 +922,10 @@ for my $shareName ( @$ShareNames ) { # last; } + # + # Wait for any child processes to exit + # + # 1 while ( wait() >= 0 ); } #