diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 2c4254587..237dd89ea 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -3422,6 +3422,11 @@ void CNeutrinoApp::ExitRun(const bool /*write_si*/, int retcode) } if(retcode) { + const char *neutrino_enter_deepstandby_script = CONFIGDIR "/deepstandby.on"; + printf("[%s] executing %s\n",__FILE__ ,neutrino_enter_deepstandby_script); + if (system(neutrino_enter_deepstandby_script) != 0) + perror(neutrino_enter_deepstandby_script ); + printf("entering off state\n"); mode = mode_off; //CVFD::getInstance()->ShowText((char *) g_Locale->getText(LOCALE_MAINMENU_SHUTDOWN)); diff --git a/src/timerd/timermanager.cpp b/src/timerd/timermanager.cpp index a5154893f..b7cdcc13a 100644 --- a/src/timerd/timermanager.cpp +++ b/src/timerd/timermanager.cpp @@ -38,6 +38,7 @@ #include #include +#include #ifndef FP_IOCTL_CLEAR_WAKEUP_TIMER #define FP_IOCTL_CLEAR_WAKEUP_TIMER 10 @@ -77,9 +78,15 @@ void CTimerManager::Init(void) close(fd); } printf("[timerd] wakeup from standby: %s\n", wakeup ? "yes" : "no"); - if(wakeup) + if(wakeup){ creat("/tmp/.wakeup", 0); + }else{ + const char *neutrino_leave_deepstandby_script = CONFIGDIR "/deepstandby.off"; + printf("[%s] executing %s\n",__FILE__ ,neutrino_leave_deepstandby_script); + if (system(neutrino_leave_deepstandby_script) != 0) + perror( neutrino_leave_deepstandby_script ); + } loadRecordingSafety(); //thread starten