Changeset 18 for server/trunk/web/bin
- Timestamp:
- 11/23/10 00:11:46 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
server/trunk/web/bin/sophie_scan
r10 r18 7 7 use Linux::Inotify2; 8 8 use POSIX ":sys_wait_h"; 9 use Getopt::Long; 9 10 10 $SIG{ALRM} = sub {}; 11 GetOptions( 12 'bdelay=i' => \my $updated_inotify, 13 'd|daemon' => \my $daemon, 14 ) or die "Wrong options"; 15 11 16 $SIG{CHLD} = sub { wait }; 12 17 13 18 my %modified_paths; 19 my $inotify = undef; 20 $updated_inotify ||= 300; 14 21 22 if ($daemon) { 23 if (fork()) { 24 exit(0); 25 } 26 } 27 28 alarm($updated_inotify); 15 29 while (1) { 16 alarm 30; 30 local $SIG{ALRM} = sub { 31 $inotify = undef; 32 warn "reparse paths"; 33 alarm($updated_inotify); 34 }; 17 35 if (update_base(keys %modified_paths)) { 18 36 %modified_paths = (); 19 37 } 20 my $inotify= inotify_path();38 $inotify ||= inotify_path(); 21 39 $inotify->poll; 22 40 } … … 35 53 warn $e->w->name; 36 54 $modified_paths{$e->w->name} = 1; 55 1; 37 56 } 38 57 ) … … 53 72 my @pkey; 54 73 { 55 my $sophie = Sophie::Base->connect; 74 my $sophie = Sophie::Base->connect or do { 75 die "cannot read config file\n"; 76 }; 56 77 @pkey = $sophie->resultset('Paths')->search( 57 78 path => [ @path ], … … 100 121 } 101 122 1 while(waitpid(-1, 0) <= 0); 123 exit(0); 102 124 } 103 125 return 1;
Note: See TracChangeset
for help on using the changeset viewer.