mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
kodi: fix SIGTERM patch after xbmc/15730 and xbmc/15776
This commit is contained in:
parent
8a170fbe8a
commit
540ae8d571
@ -1,6 +1,6 @@
|
||||
From ab5679fefbf2190008ba6c815e91f5c24820614e Mon Sep 17 00:00:00 2001
|
||||
From 5ef37fded5c9c84134f338fd489983177ec555f5 Mon Sep 17 00:00:00 2001
|
||||
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||
Date: Mon, 27 Aug 2018 17:48:05 +0100
|
||||
Date: Tue, 19 Mar 2019 18:06:56 +0000
|
||||
Subject: [PATCH] handle SIGTERM
|
||||
|
||||
0. CApplication::Stop cant be trusted. (deadlocks crashes and boo)
|
||||
@ -15,18 +15,17 @@ so, when shutdown/reboot is requested:
|
||||
6. addons / pvrmanager / cec / everything else.. are free to deadlock / crash now, we dont care
|
||||
7. KILL
|
||||
---
|
||||
xbmc/Application.cpp | 21 ++++++++++++++++-----
|
||||
xbmc/Application.h | 1 +
|
||||
xbmc/XBApplicationEx.cpp | 1 +
|
||||
xbmc/XBApplicationEx.h | 1 +
|
||||
xbmc/platform/posix/main.cpp | 2 +-
|
||||
5 files changed, 20 insertions(+), 6 deletions(-)
|
||||
xbmc/Application.cpp | 23 +++++++++++++++++------
|
||||
xbmc/Application.h | 1 +
|
||||
xbmc/XBApplicationEx.cpp | 1 +
|
||||
xbmc/XBApplicationEx.h | 1 +
|
||||
4 files changed, 20 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
|
||||
index f39a94e..80bcecb 100644
|
||||
index 3bd24ef..b151026 100644
|
||||
--- a/xbmc/Application.cpp
|
||||
+++ b/xbmc/Application.cpp
|
||||
@@ -2286,12 +2286,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
|
||||
@@ -2029,12 +2029,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
|
||||
switch (msg)
|
||||
{
|
||||
case TMSG_POWERDOWN:
|
||||
@ -41,7 +40,7 @@ index f39a94e..80bcecb 100644
|
||||
break;
|
||||
|
||||
case TMSG_SHUTDOWN:
|
||||
@@ -2312,12 +2312,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
|
||||
@@ -2055,12 +2055,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
|
||||
|
||||
case TMSG_RESTART:
|
||||
case TMSG_RESET:
|
||||
@ -56,7 +55,7 @@ index f39a94e..80bcecb 100644
|
||||
Stop(EXITCODE_RESTARTAPP);
|
||||
#endif
|
||||
break;
|
||||
@@ -2764,6 +2765,17 @@ bool CApplication::Cleanup()
|
||||
@@ -2522,6 +2523,17 @@ bool CApplication::Cleanup()
|
||||
}
|
||||
}
|
||||
|
||||
@ -74,7 +73,7 @@ index f39a94e..80bcecb 100644
|
||||
void CApplication::Stop(int exitCode)
|
||||
{
|
||||
CLog::Log(LOGNOTICE, "Stopping player");
|
||||
@@ -2790,7 +2802,7 @@ void CApplication::Stop(int exitCode)
|
||||
@@ -2548,7 +2560,7 @@ void CApplication::Stop(int exitCode)
|
||||
m_frameMoveGuard.unlock();
|
||||
|
||||
CVariant vExitCode(CVariant::VariantTypeObject);
|
||||
@ -83,7 +82,7 @@ index f39a94e..80bcecb 100644
|
||||
CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::System, "xbmc", "OnQuit", vExitCode);
|
||||
|
||||
// Abort any active screensaver
|
||||
@@ -2822,7 +2834,6 @@ void CApplication::Stop(int exitCode)
|
||||
@@ -2580,7 +2592,6 @@ void CApplication::Stop(int exitCode)
|
||||
// Needs cleaning up
|
||||
CApplicationMessenger::GetInstance().Stop();
|
||||
m_AppFocused = false;
|
||||
@ -91,11 +90,20 @@ index f39a94e..80bcecb 100644
|
||||
CLog::Log(LOGNOTICE, "Stopping all");
|
||||
|
||||
// cancel any jobs from the jobmanager
|
||||
@@ -4111,7 +4122,7 @@ void CApplication::ProcessSlow()
|
||||
if (CPlatformPosix::TestShutdownFlag())
|
||||
{
|
||||
CLog::Log(LOGNOTICE, "Quitting due to POSIX signal");
|
||||
- CApplicationMessenger::GetInstance().PostMsg(TMSG_QUIT);
|
||||
+ CApplicationMessenger::GetInstance().PostMsg(TMSG_RESTARTAPP);
|
||||
}
|
||||
#endif
|
||||
|
||||
diff --git a/xbmc/Application.h b/xbmc/Application.h
|
||||
index 1faf9dd..379d3ca 100644
|
||||
index 30cf6e7..1866fab 100644
|
||||
--- a/xbmc/Application.h
|
||||
+++ b/xbmc/Application.h
|
||||
@@ -154,6 +154,7 @@ public:
|
||||
@@ -156,6 +156,7 @@ public:
|
||||
bool StartServer(enum ESERVERS eServer, bool bStart, bool bWait = false);
|
||||
|
||||
bool IsCurrentThread() const;
|
||||
@ -104,7 +112,7 @@ index 1faf9dd..379d3ca 100644
|
||||
void UnloadSkin(bool forReload = false);
|
||||
bool LoadCustomWindows();
|
||||
diff --git a/xbmc/XBApplicationEx.cpp b/xbmc/XBApplicationEx.cpp
|
||||
index 9255271..da788b2 100644
|
||||
index fb0bd6c..4f82951 100644
|
||||
--- a/xbmc/XBApplicationEx.cpp
|
||||
+++ b/xbmc/XBApplicationEx.cpp
|
||||
@@ -24,6 +24,7 @@ CXBApplicationEx::CXBApplicationEx()
|
||||
@ -127,19 +135,6 @@ index e7534b8..8f45f04 100644
|
||||
bool m_AppFocused;
|
||||
bool m_renderGUI;
|
||||
|
||||
diff --git a/xbmc/platform/posix/main.cpp b/xbmc/platform/posix/main.cpp
|
||||
index 55840fd..2828c7f 100644
|
||||
--- a/xbmc/platform/posix/main.cpp
|
||||
+++ b/xbmc/platform/posix/main.cpp
|
||||
@@ -47,7 +47,7 @@ protected:
|
||||
void Process() override
|
||||
{
|
||||
CMessagePrinter::DisplayMessage("Exiting application");
|
||||
- KODI::MESSAGING::CApplicationMessenger::GetInstance().PostMsg(TMSG_QUIT);
|
||||
+ KODI::MESSAGING::CApplicationMessenger::GetInstance().PostMsg(TMSG_RESTARTAPP);
|
||||
}
|
||||
};
|
||||
|
||||
--
|
||||
2.14.1
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user