X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=lib%2FApp%2FMPD%2FFeeder.pm;h=4285e7077549ce294e26b6c7b6d75babef7f9da3;hb=b9cfae8c6b58ad72cd3344bef55562592cc884dd;hp=dbdcafb39494df4a0f2ae796faa57415b3c0d764;hpb=2ca3bcbd785af91fe805730ac48b1ce17e44ad38;p=mpd-feeder.git diff --git a/lib/App/MPD/Feeder.pm b/lib/App/MPD/Feeder.pm index dbdcafb..4285e70 100644 --- a/lib/App/MPD/Feeder.pm +++ b/lib/App/MPD/Feeder.pm @@ -482,5 +482,25 @@ SQL undef $db; } } + + method run_loop { + $self->connect_db; + + for ( ;; ) { + $self->queue_songs( undef, sub { $self->run } ); + + $log->debug("Entering event loop. PID=$$"); + + my $result = $mpd->loop->run; + $log->trace( "Got loop result of " . ( $result // 'undef' ) ); + + if ( 'reload' eq $result ) { + $log->notice("disconnecting"); + $self->stop; + + exec( "$0", '--config', $self->cfg_file, '--skip-db-update' ); + } + } + } }