mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-30 08:51:10 +02:00
- neutrino: grab whole ExitRun() from neutrino-mp ...
This fixes my last merge commit, small typos and alignes indentation.
This commit is contained in:
137
src/neutrino.cpp
137
src/neutrino.cpp
@@ -3602,6 +3602,7 @@ extern bool timer_is_rec;//timermanager.cpp
|
|||||||
|
|
||||||
void CNeutrinoApp::ExitRun(int can_shutdown)
|
void CNeutrinoApp::ExitRun(int can_shutdown)
|
||||||
{
|
{
|
||||||
|
/* can_shutdown is actually our exit code */
|
||||||
printf("[neutrino] %s can_shutdown: %d\n", __func__, can_shutdown);
|
printf("[neutrino] %s can_shutdown: %d\n", __func__, can_shutdown);
|
||||||
|
|
||||||
bool do_shutdown = true;
|
bool do_shutdown = true;
|
||||||
@@ -3615,7 +3616,7 @@ void CNeutrinoApp::ExitRun(int can_shutdown)
|
|||||||
if (!do_shutdown)
|
if (!do_shutdown)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(SDTreloadChannels)
|
if (SDTreloadChannels)
|
||||||
SDT_ReloadChannels();
|
SDT_ReloadChannels();
|
||||||
|
|
||||||
dprintf(DEBUG_INFO, "exit\n");
|
dprintf(DEBUG_INFO, "exit\n");
|
||||||
@@ -3641,7 +3642,7 @@ void CNeutrinoApp::ExitRun(int can_shutdown)
|
|||||||
|
|
||||||
CVFD::getInstance()->setMode(CVFD::MODE_SHUTDOWN);
|
CVFD::getInstance()->setMode(CVFD::MODE_SHUTDOWN);
|
||||||
|
|
||||||
stop_daemons(true /*can_shoutdown*/); //need here for timer_is_rec before saveSetup
|
stop_daemons(true /*can_shutdown*/); //need here for timer_is_rec before saveSetup
|
||||||
g_settings.shutdown_timer_record_type = timer_is_rec;
|
g_settings.shutdown_timer_record_type = timer_is_rec;
|
||||||
saveSetup(NEUTRINO_SETTINGS_FILE);
|
saveSetup(NEUTRINO_SETTINGS_FILE);
|
||||||
|
|
||||||
@@ -3729,70 +3730,76 @@ void CNeutrinoApp::ExitRun(int can_shutdown)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#endif
|
delete g_RCInput;
|
||||||
int leds = 0;
|
my_system("/etc/init.d/rcK");
|
||||||
int bright = 0;
|
//fan speed
|
||||||
#if HAVE_COOL_HARDWARE
|
if (g_info.hw_caps->has_fan)
|
||||||
if (can_shutdown) {
|
CFanControlNotifier::setSpeed(0);
|
||||||
leds = 0x40;
|
stop_video();
|
||||||
switch (g_settings.led_deep_mode){
|
Cleanup();
|
||||||
case 0:
|
//_exit(0);
|
||||||
leds = 0x0;//off leds
|
exit(0);
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
leds = 0x60;//on led1 & 2
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
leds = 0x20;//led1 on , 2 off
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
leds = 0x40;//led2 off, 2 on
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (leds && g_settings.led_blink && timer_minutes)
|
|
||||||
leds |= 0x80;
|
|
||||||
}
|
|
||||||
if (cs_get_revision() != 10)
|
|
||||||
bright = g_settings.lcd_setting[SNeutrinoSettings::LCD_DEEPSTANDBY_BRIGHTNESS];
|
|
||||||
#endif
|
|
||||||
if (timer_minutes || leds)
|
|
||||||
{
|
|
||||||
FILE *f = fopen("/tmp/.timer", "w");
|
|
||||||
if (f)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "timer_wakeup: %ld\n", timer_minutes * 60);
|
|
||||||
fprintf(f, "%ld\n", timer_minutes * 60);
|
|
||||||
fprintf(f, "%d\n", leds);
|
|
||||||
fprintf(f, "%d\n", bright);
|
|
||||||
fclose(f);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
perror("fopen /tmp/.timer");
|
|
||||||
}
|
|
||||||
|
|
||||||
delete g_RCInput;
|
|
||||||
g_RCInput = NULL;
|
|
||||||
//fan speed
|
|
||||||
if (g_info.hw_caps->has_fan) {
|
|
||||||
CFanControlNotifier::setSpeed(0);
|
|
||||||
}
|
|
||||||
//CVFD::getInstance()->ShowText(g_Locale->getText(LOCALE_MAINMENU_REBOOT));
|
|
||||||
delete CVFD::getInstance();
|
|
||||||
delete SHTDCNT::getInstance();
|
|
||||||
stop_video();
|
|
||||||
|
|
||||||
printf("[neutrino] This is the end. exiting with code %d\n", can_shutdown);
|
|
||||||
Cleanup();
|
|
||||||
#ifdef __sh__
|
|
||||||
/* the sh4 gcc seems to dislike someting about openthreads... */
|
|
||||||
_exit(can_shutdown);
|
|
||||||
#else
|
|
||||||
exit(can_shutdown);
|
|
||||||
#endif
|
|
||||||
#if 0
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
int leds = 0;
|
||||||
|
int bright = 0;
|
||||||
|
#if HAVE_COOL_HARDWARE
|
||||||
|
if (can_shutdown) {
|
||||||
|
leds = 0x40;
|
||||||
|
switch (g_settings.led_deep_mode){
|
||||||
|
case 0:
|
||||||
|
leds = 0x0;//off leds
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
leds = 0x60;//on led1 & 2
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
leds = 0x20;//led1 on , 2 off
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
leds = 0x40;//led2 off, 2 on
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (leds && g_settings.led_blink && timer_minutes)
|
||||||
|
leds |= 0x80;
|
||||||
|
}
|
||||||
|
if (cs_get_revision() != 10)
|
||||||
|
bright = g_settings.lcd_setting[SNeutrinoSettings::LCD_DEEPSTANDBY_BRIGHTNESS];
|
||||||
|
#endif
|
||||||
|
if (timer_minutes || leds)
|
||||||
|
{
|
||||||
|
FILE *f = fopen("/tmp/.timer", "w");
|
||||||
|
if (f)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "timer_wakeup: %ld\n", timer_minutes * 60);
|
||||||
|
fprintf(f, "%ld\n", timer_minutes * 60);
|
||||||
|
fprintf(f, "%d\n", leds);
|
||||||
|
fprintf(f, "%d\n", bright);
|
||||||
|
fclose(f);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
perror("fopen /tmp/.timer");
|
||||||
|
}
|
||||||
|
|
||||||
|
delete g_RCInput;
|
||||||
|
g_RCInput = NULL;
|
||||||
|
//fan speed
|
||||||
|
if (g_info.hw_caps->has_fan)
|
||||||
|
CFanControlNotifier::setSpeed(0);
|
||||||
|
//CVFD::getInstance()->ShowText(g_Locale->getText(LOCALE_MAINMENU_REBOOT));
|
||||||
|
delete CVFD::getInstance();
|
||||||
|
delete SHTDCNT::getInstance();
|
||||||
|
stop_video();
|
||||||
|
|
||||||
|
printf("[neutrino] This is the end. exiting with code %d\n", can_shutdown);
|
||||||
|
Cleanup();
|
||||||
|
#ifdef __sh__
|
||||||
|
/* the sh4 gcc seems to dislike someting about openthreads... */
|
||||||
|
_exit(can_shutdown);
|
||||||
|
#else
|
||||||
|
exit(can_shutdown);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user