mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Now calling cPluginManager::Active() only if VDR is really trying to shut down, and waiting for 5 minutes before calling it again
This commit is contained in:
parent
ddcb37300f
commit
661da094e1
@ -1476,6 +1476,7 @@ Udo Richter <udo_richter@gmx.de>
|
|||||||
for suggesting that the function cThread::Cancel() should only set 'running' to
|
for suggesting that the function cThread::Cancel() should only set 'running' to
|
||||||
false and not actually kill the thread if the special value -1 is given
|
false and not actually kill the thread if the special value -1 is given
|
||||||
or fixing a possible segfault in cSkins::Message()
|
or fixing a possible segfault in cSkins::Message()
|
||||||
|
for some hints on how to improve handling cPluginManager::Active()
|
||||||
|
|
||||||
Sven Kreiensen <svenk@kammer.uni-hannover.de>
|
Sven Kreiensen <svenk@kammer.uni-hannover.de>
|
||||||
for his help in keeping 'channels.conf.terr' up to date
|
for his help in keeping 'channels.conf.terr' up to date
|
||||||
@ -2038,3 +2039,6 @@ Boguslaw Juza <bogdan@uci.agh.edu.pl>
|
|||||||
Ulf Kiener <webmaster@ulf-kiener.de>
|
Ulf Kiener <webmaster@ulf-kiener.de>
|
||||||
for reporting a problem with audio track descriptions in the DVD plugin after a
|
for reporting a problem with audio track descriptions in the DVD plugin after a
|
||||||
replay has been stopped
|
replay has been stopped
|
||||||
|
|
||||||
|
Jörg Wendel <vdr-ml@jwendel.de>
|
||||||
|
for reporting that cPlugin::Active() was called too often
|
||||||
|
4
HISTORY
4
HISTORY
@ -5002,3 +5002,7 @@ Video Disk Recorder Revision History
|
|||||||
- Added a missing 'const' to cRecordingInfo::ChannelID() (reported by Andreas
|
- Added a missing 'const' to cRecordingInfo::ChannelID() (reported by Andreas
|
||||||
Brugger). This required the APIVERSION to be increased, so plugins will have to
|
Brugger). This required the APIVERSION to be increased, so plugins will have to
|
||||||
be recompiled.
|
be recompiled.
|
||||||
|
- Now calling cPluginManager::Active() only if VDR is really trying to shut down,
|
||||||
|
and waiting for 5 minutes before calling it again (thanks to Jörg Wendel for
|
||||||
|
reporting that cPlugin::Active() was called too often, and to Udo Richter for
|
||||||
|
some hints on how to improve this).
|
||||||
|
8
vdr.c
8
vdr.c
@ -22,7 +22,7 @@
|
|||||||
*
|
*
|
||||||
* The project's page is at http://www.cadsoft.de/vdr
|
* The project's page is at http://www.cadsoft.de/vdr
|
||||||
*
|
*
|
||||||
* $Id: vdr.c 1.280 2006/10/14 10:01:32 kls Exp $
|
* $Id: vdr.c 1.281 2006/12/02 10:33:35 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
@ -1154,11 +1154,15 @@ int main(int argc, char *argv[])
|
|||||||
Skins.Message(mtInfo, tr("Editing process finished"));
|
Skins.Message(mtInfo, tr("Editing process finished"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!Interact && ((!cRecordControls::Active() && !cCutter::Active() && !cPluginManager::Active() && (!Interface->HasSVDRPConnection() || UserShutdown)) || ForceShutdown)) {
|
if (!Interact && ((!cRecordControls::Active() && !cCutter::Active() && (!Interface->HasSVDRPConnection() || UserShutdown)) || ForceShutdown)) {
|
||||||
time_t Now = time(NULL);
|
time_t Now = time(NULL);
|
||||||
if (Now - LastActivity > ACTIVITYTIMEOUT) {
|
if (Now - LastActivity > ACTIVITYTIMEOUT) {
|
||||||
// Shutdown:
|
// Shutdown:
|
||||||
if (Shutdown && (Setup.MinUserInactivity || LastActivity == 1) && Now - LastActivity > Setup.MinUserInactivity * 60) {
|
if (Shutdown && (Setup.MinUserInactivity || LastActivity == 1) && Now - LastActivity > Setup.MinUserInactivity * 60) {
|
||||||
|
if (!ForceShutdown && cPluginManager::Active()) {
|
||||||
|
LastActivity = Now - Setup.MinUserInactivity * 60 + SHUTDOWNRETRY; // try again later
|
||||||
|
continue;
|
||||||
|
}
|
||||||
cTimer *timer = Timers.GetNextActiveTimer();
|
cTimer *timer = Timers.GetNextActiveTimer();
|
||||||
time_t Next = timer ? timer->StartTime() : 0;
|
time_t Next = timer ? timer->StartTime() : 0;
|
||||||
time_t Delta = timer ? Next - Now : 0;
|
time_t Delta = timer ? Next - Now : 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user