xbmc: cleanup. move patches

This commit is contained in:
Stefan Saraev 2013-11-01 21:28:46 +02:00
parent 081c4f5669
commit 7a8bb83c80
15 changed files with 0 additions and 188 deletions

View File

@ -239,8 +239,6 @@ if [ "$SAMBA_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS_TARGET="$PKG_BUILD_DEPENDS_TARGET samba"
PKG_DEPENDS="$PKG_DEPENDS samba"
XBMC_SAMBA="--enable-samba"
# TODO: remove this?
#XBMC_LIBS="$XBMC_LIBS -ltalloc -ltdb -ltevent -lwbclient"
else
XBMC_SAMBA="--disable-samba"
fi
@ -398,7 +396,6 @@ pre_configure_target() {
export CFLAGS="$CFLAGS $XBMC_CFLAGS"
export CXXFLAGS="$CXXFLAGS $XBMC_CXXFLAGS"
export LIBS="$LIBS $XBMC_LIBS"
}
make_target() {

View File

@ -1,14 +0,0 @@
diff -Naur xbmc-12.2.0/xbmc/powermanagement/linux/UPowerSyscall.cpp xbmc-12.2.0.patch/xbmc/powermanagement/linux/UPowerSyscall.cpp
--- xbmc-12.2.0/xbmc/powermanagement/linux/UPowerSyscall.cpp 2013-05-02 17:00:05.000000000 +0200
+++ xbmc-12.2.0.patch/xbmc/powermanagement/linux/UPowerSyscall.cpp 2013-07-07 17:05:46.921656229 +0200
@@ -85,8 +85,8 @@
m_connection = NULL;
}
- m_CanPowerdown = false;
- m_CanReboot = false;
+ m_CanPowerdown = true;
+ m_CanReboot = true;
UpdateCapabilities();

View File

@ -1,171 +0,0 @@
commit 2349687bee7a4b01cd8f17c81ed5d77ee95449f6
Author: Lars Op den Kamp <lars@opdenkamp.eu>
Date: Wed Jan 16 02:11:19 2013 +0100
ODK: watchdog for linux, 30 second timeout by default
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
index b453e9f..8471e3b 100644
--- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp
@@ -18,6 +18,11 @@
*
*/
+#if defined(_LINUX)
+#include <sys/ioctl.h>
+#include <linux/watchdog.h>
+#endif
+
#include "network/Network.h"
#include "threads/SystemClock.h"
#include "system.h"
@@ -436,6 +441,7 @@ CApplication::CApplication(void)
m_lastFrameTime = 0;
m_lastRenderTime = 0;
m_bTestMode = false;
+ m_iWatchdogFD = -1;
}
CApplication::~CApplication(void)
@@ -565,6 +571,51 @@ void CApplication::Preflight()
#endif
}
+void CApplication::WDOpen(void)
+{
+#if defined(_LINUX)
+ m_iWatchdogFD = open("/dev/watchdog", O_WRONLY);
+ if (m_iWatchdogFD == -1)
+ {
+ CLog::Log(LOGWARNING, "could not open /dev/watchdog");
+ return;
+ }
+
+ if (ioctl(m_iWatchdogFD, WDIOC_SETTIMEOUT, &g_advancedSettings.m_iWatchdogTimeoutSeconds))
+ {
+ CLog::Log(LOGERROR, "ioctl on /dev/watchdog failed");
+ WDClose();
+ }
+
+ CLog::Log(LOGINFO, "watchdog started, %d second timeout", g_advancedSettings.m_iWatchdogTimeoutSeconds);
+#endif
+}
+
+void CApplication::WDClose(void)
+{
+#if defined(_LINUX)
+ if (m_iWatchdogFD != -1)
+ {
+ struct watchdog_info watchdogInfo;
+ if (!ioctl(m_iWatchdogFD, WDIOC_GETSUPPORT, &watchdogInfo) &&
+ (WDIOF_MAGICCLOSE & watchdogInfo.options))
+ write(m_iWatchdogFD, "V", 1);
+ close(m_iWatchdogFD);
+ m_iWatchdogFD = -1;
+
+ CLog::Log(LOGINFO, "watchdog stopped");
+ }
+#endif
+}
+
+void CApplication::WDAlive(void)
+{
+#if defined(_LINUX)
+ if (m_iWatchdogFD != -1)
+ ioctl(m_iWatchdogFD, WDIOC_KEEPALIVE, NULL);
+#endif
+}
+
bool CApplication::Create()
{
#if defined(HAS_LINUX_NETWORK)
@@ -776,6 +827,8 @@ bool CApplication::Create()
g_mediaManager.Initialize();
+ WDOpen();
+
m_lastFrameTime = XbmcThreads::SystemClockMillis();
m_lastRenderTime = m_lastFrameTime;
return true;
@@ -3641,6 +3694,8 @@ void CApplication::Stop(int exitCode)
// so we may never get to Destroy() in CXBApplicationEx::Run(), we call it here.
Destroy();
+ WDClose();
+
//
Sleep(200);
}
@@ -5232,6 +5287,8 @@ void CApplication::ProcessSlow()
CAddonInstaller::Get().UpdateRepos();
CAEFactory::GarbageCollect();
+
+ WDAlive();
}
// Global Idle Time in Seconds
diff --git a/xbmc/Application.h b/xbmc/Application.h
index 69609fa..de04517 100644
--- a/xbmc/Application.h
+++ b/xbmc/Application.h
@@ -458,6 +458,10 @@ protected:
bool InitDirectoriesWin32();
void CreateUserDirs();
+ void WDOpen(void);
+ void WDClose(void);
+ void WDAlive(void);
+
CSeekHandler *m_seekHandler;
CInertialScrollingHandler *m_pInertialScrollingHandler;
CNetwork *m_network;
@@ -469,6 +473,7 @@ protected:
std::map<std::string, std::map<int, float> > m_lastAxisMap;
#endif
+ int m_iWatchdogFD;
};
XBMC_GLOBAL_REF(CApplication,g_application);
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
index 16800b7..3b0cc5a 100644
--- a/xbmc/settings/AdvancedSettings.cpp
+++ b/xbmc/settings/AdvancedSettings.cpp
@@ -322,6 +322,8 @@ void CAdvancedSettings::Initialize()
m_databaseVideo.Reset();
m_logLevelHint = m_logLevel = LOG_LEVEL_NORMAL;
+
+ m_iWatchdogTimeoutSeconds = 30;
}
bool CAdvancedSettings::Load()
@@ -990,6 +992,12 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
XMLUtils::GetInt(pPVR, "numericchannelswitchtimeout", m_iPVRNumericChannelSwitchTimeout, 50, 60000);
}
+ TiXmlElement *pWD = pRootElement->FirstChildElement("watchdog");
+ if (pWD)
+ {
+ XMLUtils::GetInt(pWD, "timeout", m_iWatchdogTimeoutSeconds, 1, 6000);
+ }
+
XMLUtils::GetBoolean(pRootElement, "measurerefreshrate", m_measureRefreshrate);
TiXmlElement* pDatabase = pRootElement->FirstChildElement("videodatabase");
diff --git a/xbmc/settings/AdvancedSettings.h b/xbmc/settings/AdvancedSettings.h
index 27887d4..a155369 100644
--- a/xbmc/settings/AdvancedSettings.h
+++ b/xbmc/settings/AdvancedSettings.h
@@ -365,6 +365,8 @@ class CAdvancedSettings
bool m_initialized;
void SetDebugMode(bool debug);
+
+ int m_iWatchdogTimeoutSeconds;
};
XBMC_GLOBAL(CAdvancedSettings,g_advancedSettings);