summaryrefslogtreecommitdiff
path: root/rt/sbin/rt-fulltext-indexer.in
diff options
context:
space:
mode:
Diffstat (limited to 'rt/sbin/rt-fulltext-indexer.in')
-rw-r--r--rt/sbin/rt-fulltext-indexer.in16
1 files changed, 15 insertions, 1 deletions
diff --git a/rt/sbin/rt-fulltext-indexer.in b/rt/sbin/rt-fulltext-indexer.in
index b84ca9499..b90d8dacf 100644
--- a/rt/sbin/rt-fulltext-indexer.in
+++ b/rt/sbin/rt-fulltext-indexer.in
@@ -84,8 +84,9 @@ use RT::Interface::CLI ();
my %OPT = (
help => 0,
debug => 0,
+ quiet => 0,
);
-my @OPT_LIST = qw(help|h! debug!);
+my @OPT_LIST = qw(help|h! debug! quiet);
my $db_type = RT->Config->Get('DatabaseType');
if ( $db_type eq 'Pg' ) {
@@ -122,6 +123,18 @@ if ( $OPT{'help'} ) {
);
}
+use Fcntl ':flock';
+if ( !flock main::DATA, LOCK_EX | LOCK_NB ) {
+ if ( $OPT{quiet} ) {
+ RT::Logger->info("$0 is already running; aborting silently, as requested");
+ exit;
+ }
+ else {
+ print STDERR "$0 is already running\n";
+ exit 1;
+ }
+}
+
my $fts_config = RT->Config->Get('FullTextSearch') || {};
unless ( $fts_config->{'Enable'} ) {
print STDERR <<EOT;
@@ -463,3 +476,4 @@ Alex Vandiver E<lt>alexmv@bestpractical.comE<gt>
=cut
+__DATA__