mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +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>
|
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
|
Subject: [PATCH] handle SIGTERM
|
||||||
|
|
||||||
0. CApplication::Stop cant be trusted. (deadlocks crashes and boo)
|
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
|
6. addons / pvrmanager / cec / everything else.. are free to deadlock / crash now, we dont care
|
||||||
7. KILL
|
7. KILL
|
||||||
---
|
---
|
||||||
xbmc/Application.cpp | 21 ++++++++++++++++-----
|
xbmc/Application.cpp | 23 +++++++++++++++++------
|
||||||
xbmc/Application.h | 1 +
|
xbmc/Application.h | 1 +
|
||||||
xbmc/XBApplicationEx.cpp | 1 +
|
xbmc/XBApplicationEx.cpp | 1 +
|
||||||
xbmc/XBApplicationEx.h | 1 +
|
xbmc/XBApplicationEx.h | 1 +
|
||||||
xbmc/platform/posix/main.cpp | 2 +-
|
4 files changed, 20 insertions(+), 6 deletions(-)
|
||||||
5 files changed, 20 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
|
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
|
||||||
index f39a94e..80bcecb 100644
|
index 3bd24ef..b151026 100644
|
||||||
--- a/xbmc/Application.cpp
|
--- a/xbmc/Application.cpp
|
||||||
+++ b/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)
|
switch (msg)
|
||||||
{
|
{
|
||||||
case TMSG_POWERDOWN:
|
case TMSG_POWERDOWN:
|
||||||
@ -41,7 +40,7 @@ index f39a94e..80bcecb 100644
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TMSG_SHUTDOWN:
|
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_RESTART:
|
||||||
case TMSG_RESET:
|
case TMSG_RESET:
|
||||||
@ -56,7 +55,7 @@ index f39a94e..80bcecb 100644
|
|||||||
Stop(EXITCODE_RESTARTAPP);
|
Stop(EXITCODE_RESTARTAPP);
|
||||||
#endif
|
#endif
|
||||||
break;
|
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)
|
void CApplication::Stop(int exitCode)
|
||||||
{
|
{
|
||||||
CLog::Log(LOGNOTICE, "Stopping player");
|
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();
|
m_frameMoveGuard.unlock();
|
||||||
|
|
||||||
CVariant vExitCode(CVariant::VariantTypeObject);
|
CVariant vExitCode(CVariant::VariantTypeObject);
|
||||||
@ -83,7 +82,7 @@ index f39a94e..80bcecb 100644
|
|||||||
CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::System, "xbmc", "OnQuit", vExitCode);
|
CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::System, "xbmc", "OnQuit", vExitCode);
|
||||||
|
|
||||||
// Abort any active screensaver
|
// 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
|
// Needs cleaning up
|
||||||
CApplicationMessenger::GetInstance().Stop();
|
CApplicationMessenger::GetInstance().Stop();
|
||||||
m_AppFocused = false;
|
m_AppFocused = false;
|
||||||
@ -91,11 +90,20 @@ index f39a94e..80bcecb 100644
|
|||||||
CLog::Log(LOGNOTICE, "Stopping all");
|
CLog::Log(LOGNOTICE, "Stopping all");
|
||||||
|
|
||||||
// cancel any jobs from the jobmanager
|
// 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
|
diff --git a/xbmc/Application.h b/xbmc/Application.h
|
||||||
index 1faf9dd..379d3ca 100644
|
index 30cf6e7..1866fab 100644
|
||||||
--- a/xbmc/Application.h
|
--- a/xbmc/Application.h
|
||||||
+++ b/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 StartServer(enum ESERVERS eServer, bool bStart, bool bWait = false);
|
||||||
|
|
||||||
bool IsCurrentThread() const;
|
bool IsCurrentThread() const;
|
||||||
@ -104,7 +112,7 @@ index 1faf9dd..379d3ca 100644
|
|||||||
void UnloadSkin(bool forReload = false);
|
void UnloadSkin(bool forReload = false);
|
||||||
bool LoadCustomWindows();
|
bool LoadCustomWindows();
|
||||||
diff --git a/xbmc/XBApplicationEx.cpp b/xbmc/XBApplicationEx.cpp
|
diff --git a/xbmc/XBApplicationEx.cpp b/xbmc/XBApplicationEx.cpp
|
||||||
index 9255271..da788b2 100644
|
index fb0bd6c..4f82951 100644
|
||||||
--- a/xbmc/XBApplicationEx.cpp
|
--- a/xbmc/XBApplicationEx.cpp
|
||||||
+++ b/xbmc/XBApplicationEx.cpp
|
+++ b/xbmc/XBApplicationEx.cpp
|
||||||
@@ -24,6 +24,7 @@ CXBApplicationEx::CXBApplicationEx()
|
@@ -24,6 +24,7 @@ CXBApplicationEx::CXBApplicationEx()
|
||||||
@ -127,19 +135,6 @@ index e7534b8..8f45f04 100644
|
|||||||
bool m_AppFocused;
|
bool m_AppFocused;
|
||||||
bool m_renderGUI;
|
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
|
2.14.1
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user