mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-09-01 18:01:13 +02:00
* Neutrino shutdown: Optimization reworked
- Shutdown functions (shutdown, reboot, soft-reboot, sighandler) optimized - Fixed error messages (delete videoDecoder). git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@2145 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
@@ -144,11 +144,13 @@ void * sectionsd_main_thread(void *data);
|
|||||||
extern bool timeset; // sectionsd
|
extern bool timeset; // sectionsd
|
||||||
|
|
||||||
extern cVideo * videoDecoder;
|
extern cVideo * videoDecoder;
|
||||||
|
extern cDemux *videoDemux;
|
||||||
extern cAudio * audioDecoder;
|
extern cAudio * audioDecoder;
|
||||||
cPowerManager *powerManager;
|
cPowerManager *powerManager;
|
||||||
cCpuFreqManager * cpuFreq;
|
cCpuFreqManager * cpuFreq;
|
||||||
|
|
||||||
void stop_daemons(bool stopall = true);
|
void stop_daemons(bool stopall = true);
|
||||||
|
void stop_video(void);
|
||||||
// uncomment if you want to have a "test" menue entry (rasc)
|
// uncomment if you want to have a "test" menue entry (rasc)
|
||||||
|
|
||||||
//#define __EXPERIMENTAL_CODE__
|
//#define __EXPERIMENTAL_CODE__
|
||||||
@@ -2969,8 +2971,7 @@ void CNeutrinoApp::ExitRun(const bool /*write_si*/, int retcode)
|
|||||||
standby.timer_minutes_hi = fp_timer >> 8;;
|
standby.timer_minutes_hi = fp_timer >> 8;;
|
||||||
standby.timer_minutes_lo = fp_timer & 0xFF;
|
standby.timer_minutes_lo = fp_timer & 0xFF;
|
||||||
|
|
||||||
delete videoDecoder;
|
stop_video();
|
||||||
cs_api_exit();
|
|
||||||
|
|
||||||
int fd = open("/dev/display", O_RDONLY);
|
int fd = open("/dev/display", O_RDONLY);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
@@ -3035,7 +3036,7 @@ void CNeutrinoApp::ExitRun(const bool /*write_si*/, int retcode)
|
|||||||
delete funNotifier;
|
delete funNotifier;
|
||||||
}
|
}
|
||||||
//CVFD::getInstance()->ShowText(g_Locale->getText(LOCALE_MAINMENU_REBOOT));
|
//CVFD::getInstance()->ShowText(g_Locale->getText(LOCALE_MAINMENU_REBOOT));
|
||||||
delete frameBuffer;
|
stop_video();
|
||||||
|
|
||||||
#if 0 /* FIXME this next hack to test, until we find real crash on exit reason */
|
#if 0 /* FIXME this next hack to test, until we find real crash on exit reason */
|
||||||
system("/etc/init.d/rcK");
|
system("/etc/init.d/rcK");
|
||||||
@@ -3615,11 +3616,9 @@ int CNeutrinoApp::exec(CMenuTarget* parent, const std::string & actionKey)
|
|||||||
delete g_fontRenderer;
|
delete g_fontRenderer;
|
||||||
|
|
||||||
delete hintBox;
|
delete hintBox;
|
||||||
delete frameBuffer;
|
|
||||||
|
|
||||||
stop_daemons(true);
|
stop_daemons(true);
|
||||||
delete videoDecoder;
|
stop_video();
|
||||||
cs_api_exit();
|
|
||||||
/* g_Timerd, g_Zapit and CVFD are used in stop_daemons */
|
/* g_Timerd, g_Zapit and CVFD are used in stop_daemons */
|
||||||
delete g_Timerd;
|
delete g_Timerd;
|
||||||
delete g_Zapit; //do we really need this?
|
delete g_Zapit; //do we really need this?
|
||||||
@@ -3737,6 +3736,14 @@ void stop_daemons(bool stopall)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void stop_video()
|
||||||
|
{
|
||||||
|
delete videoDecoder;
|
||||||
|
delete videoDemux;
|
||||||
|
delete CFrameBuffer::getInstance();
|
||||||
|
cs_api_exit();
|
||||||
|
}
|
||||||
|
|
||||||
void sighandler (int signum)
|
void sighandler (int signum)
|
||||||
{
|
{
|
||||||
signal (signum, SIG_IGN);
|
signal (signum, SIG_IGN);
|
||||||
@@ -3745,8 +3752,7 @@ void sighandler (int signum)
|
|||||||
case SIGINT:
|
case SIGINT:
|
||||||
delete CRecordManager::getInstance();
|
delete CRecordManager::getInstance();
|
||||||
stop_daemons();
|
stop_daemons();
|
||||||
delete videoDecoder;
|
stop_video();
|
||||||
cs_api_exit();
|
|
||||||
_exit(0);
|
_exit(0);
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@@ -2121,7 +2121,6 @@ void CZapit::run()
|
|||||||
delete pcrDemux;
|
delete pcrDemux;
|
||||||
delete pmtDemux;
|
delete pmtDemux;
|
||||||
delete audioDecoder;
|
delete audioDecoder;
|
||||||
delete videoDemux;
|
|
||||||
delete audioDemux;
|
delete audioDemux;
|
||||||
|
|
||||||
INFO("demuxes/decoders deleted");
|
INFO("demuxes/decoders deleted");
|
||||||
|
Reference in New Issue
Block a user