mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-17 08:01:13 +02:00
2022-11-14 Fred Gleason <fredg@paravelsystems.com>
* Fixed a race condition with calculating the effect start time of events in rdcatchd(8). Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
@@ -23666,3 +23666,6 @@
|
|||||||
2022-11-14 Fred Gleason <fredg@paravelsystems.com>
|
2022-11-14 Fred Gleason <fredg@paravelsystems.com>
|
||||||
* Fixed a regression in rdcatch(1) that caused the 'Edit Recording'
|
* Fixed a regression in rdcatch(1) that caused the 'Edit Recording'
|
||||||
dialog to load an incorrect value for the 'Source:' control.
|
dialog to load an incorrect value for the 'Source:' control.
|
||||||
|
2022-11-14 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
* Fixed a race condition with calculating the effect start time
|
||||||
|
of events in rdcatchd(8).
|
||||||
|
@@ -553,10 +553,9 @@ void MainObject::engineData(int id)
|
|||||||
int event=GetEvent(id);
|
int event=GetEvent(id);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Generate Effective Date
|
// Generate Effective Date/Time
|
||||||
//
|
//
|
||||||
QDate date=QDate::currentDate();
|
QDateTime now=QDateTime::currentDateTime();
|
||||||
QTime current_time=QTime::currentTime();
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Ignore inactive or non-existent events
|
// Ignore inactive or non-existent events
|
||||||
@@ -569,7 +568,7 @@ void MainObject::engineData(int id)
|
|||||||
rda->syslog(LOG_DEBUG,"event %d is marked inactive, ignoring",id);
|
rda->syslog(LOG_DEBUG,"event %d is marked inactive, ignoring",id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!catch_events[event].dayOfWeek(date.dayOfWeek())) {
|
if(!catch_events[event].dayOfWeek(now.date().dayOfWeek())) {
|
||||||
rda->syslog(LOG_DEBUG,"event %d is not valid for this DOW, ignoring",id);
|
rda->syslog(LOG_DEBUG,"event %d is not valid for this DOW, ignoring",id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -659,7 +658,7 @@ void MainObject::engineData(int id)
|
|||||||
case RDRecording::GpiStart:
|
case RDRecording::GpiStart:
|
||||||
catch_events[event].gpiStartTimer()->
|
catch_events[event].gpiStartTimer()->
|
||||||
start(catch_events[event].startLength()-
|
start(catch_events[event].startLength()-
|
||||||
(QTime(0,0,0).msecsTo(current_time)-
|
(QTime(0,0,0).msecsTo(now.time())-
|
||||||
QTime(0,0,0).msecsTo(catch_events[event].startTime())));
|
QTime(0,0,0).msecsTo(catch_events[event].startTime())));
|
||||||
catch_record_deck_status[catch_events[event].channel()-1]=
|
catch_record_deck_status[catch_events[event].channel()-1]=
|
||||||
RDDeck::Waiting;
|
RDDeck::Waiting;
|
||||||
@@ -771,8 +770,9 @@ void MainObject::engineData(int id)
|
|||||||
delete q;
|
delete q;
|
||||||
catch_events[event].
|
catch_events[event].
|
||||||
setResolvedUrl(RDDateTimeDecode(catch_events[event].url(),
|
setResolvedUrl(RDDateTimeDecode(catch_events[event].url(),
|
||||||
QDateTime(date.addDays(catch_events[event].eventdateOffset()),
|
QDateTime(now.date().
|
||||||
current_time),rda->station(),RDConfiguration()));
|
addDays(catch_events[event].eventdateOffset()),
|
||||||
|
now.time()),rda->station(),RDConfiguration()));
|
||||||
StartDownloadEvent(event);
|
StartDownloadEvent(event);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user