diff options
-rw-r--r-- | globals.pl | 9 | ||||
-rwxr-xr-x | syncshadowdb | 3 |
2 files changed, 8 insertions, 4 deletions
diff --git a/globals.pl b/globals.pl index 0f91aeb9e..2b3456959 100644 --- a/globals.pl +++ b/globals.pl @@ -117,10 +117,11 @@ sub SyncAnyPendingShadowChanges { return; } elsif (defined $pid) { # child process code runs here - exec("./syncshadowdb",[]) or die "Unable to exec syncshadowdb: $!"; - # passing the empty list as a second parameter tricks it into - # using execvp instead of running a shell, but still doesn't - # pass any parameters to syncshadowdb + exec("./syncshadowdb","--") or die "Unable to exec syncshadowdb: $!"; + # the idea was that passing the second parameter tricks it into + # using execvp instead of running a shell. Not really necessary since + # there are no shell meta-characters, but it passes our tinderbox + # test that way. :) http://bugzilla.mozilla.org/show_bug.cgi?id=21253 } elsif ($! =~ /No more process/) { # recoverable fork error, try again in 5 seconds sleep 5; diff --git a/syncshadowdb b/syncshadowdb index 7dce87038..471b6d6ad 100755 --- a/syncshadowdb +++ b/syncshadowdb @@ -51,6 +51,9 @@ foreach my $opt (@ARGV) { } elsif ($opt eq '-syncall') { $syncall = 1; $verbose = 1; + } elsif ($opt eq '--') { + # do nothing - null parameter so we can use + # multi-param system() call in globals.pl } else { Usage(); } |