aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorFraxinas <andreas.frisch@multimedia-labs.de>2009-05-20 11:24:18 +0200
committerFraxinas <andreas.frisch@multimedia-labs.de>2009-05-20 11:24:18 +0200
commit0c306d0eff685d81732fae1d1b0a6f951c27bd63 (patch)
tree64f6253503a47d853db6124b1a0ee5b8ed1467a8 /lib
parent258b45224b4ab38d8019b8bcd9f51d5143719b4a (diff)
parent4ae68fe4023fe08deee027c9da0ce10fe70f75da (diff)
downloadenigma2-0c306d0eff685d81732fae1d1b0a6f951c27bd63.tar.gz
enigma2-0c306d0eff685d81732fae1d1b0a6f951c27bd63.zip
Merge branch 'master' of fraxinas@git.opendreambox.org:/git/enigma2
Diffstat (limited to 'lib')
-rw-r--r--lib/base/thread.cpp11
-rw-r--r--lib/base/thread.h2
-rw-r--r--lib/python/Plugins/SystemPlugins/VideoTune/meta/Makefile.am3
-rw-r--r--lib/python/Plugins/SystemPlugins/VideoTune/meta/plugin_videotune.xml27
4 files changed, 36 insertions, 7 deletions
diff --git a/lib/base/thread.cpp b/lib/base/thread.cpp
index 58c4fd72..fa923deb 100644
--- a/lib/base/thread.cpp
+++ b/lib/base/thread.cpp
@@ -9,12 +9,9 @@ void eThread::thread_completed(void *ptr)
eThread *p = (eThread*) ptr;
p->m_alive = 0;
- /* recover state */
- if (!p->m_state.value())
- {
- p->m_state.up();
- ASSERT(p->m_state.value() == 1);
- }
+ /* recover state in case thread was cancelled before calling hasStarted */
+ if (!p->m_started)
+ p->hasStarted();
p->thread_finished();
}
@@ -48,6 +45,7 @@ int eThread::runAsync(int prio, int policy)
ASSERT(m_state.value() == 0);
m_alive = 1;
+ m_started = 0;
/* start thread. */
pthread_attr_t attr;
@@ -125,5 +123,6 @@ void eThread::kill(bool sendcancel)
void eThread::hasStarted()
{
ASSERT(!m_state.value());
+ m_started = 1;
m_state.up();
}
diff --git a/lib/base/thread.h b/lib/base/thread.h
index 12c5b25c..8ee96594 100644
--- a/lib/base/thread.h
+++ b/lib/base/thread.h
@@ -59,7 +59,7 @@ private:
pthread_t the_thread;
static void *wrapper(void *ptr);
- int m_alive;
+ int m_alive, m_started;
static void thread_completed(void *p);
eSemaphore m_state;
diff --git a/lib/python/Plugins/SystemPlugins/VideoTune/meta/Makefile.am b/lib/python/Plugins/SystemPlugins/VideoTune/meta/Makefile.am
new file mode 100644
index 00000000..0c447f53
--- /dev/null
+++ b/lib/python/Plugins/SystemPlugins/VideoTune/meta/Makefile.am
@@ -0,0 +1,3 @@
+installdir = $(LIBDIR)/enigma2/python/Plugins/meta/
+
+install_DATA = plugin_videotune.xml
diff --git a/lib/python/Plugins/SystemPlugins/VideoTune/meta/plugin_videotune.xml b/lib/python/Plugins/SystemPlugins/VideoTune/meta/plugin_videotune.xml
new file mode 100644
index 00000000..5bc398e0
--- /dev/null
+++ b/lib/python/Plugins/SystemPlugins/VideoTune/meta/plugin_videotune.xml
@@ -0,0 +1,27 @@
+<default>
+ <prerequisites>
+ <tag type="Display" />
+ <tag type="System" />
+ </prerequisites>
+ <info language="en">
+ <author>Dream Multimedia</author>
+ <name>VideoTune</name>
+ <packagename>enigma2-plugin-systemplugins-videotune</packagename>
+ <shortdescription>VideoTune helps fine-tuning your tv display.</shortdescription>
+ <description>The VideoTune helps fine-tuning your tv display.\nYou can control brightness and contrast of your tv.</description>
+ <screenshot src="http://www.dreamboxupdate.com/preview/videotune.jpg" />
+ <screenshot src="screenshot_videotune.jpg" />
+ </info>
+ <info language="de">
+ <author>Dream Multimedia</author>
+ <name>VideoTune</name>
+ <packagename>enigma2-plugin-systemplugins-videotune</packagename>
+ <shortdescription>VideoTune hilf beim fein-einstellen des Fernsehers.</shortdescription>
+ <description>VideoTune hilf beim fein-einstellen des Fernsehers.\nSie können Kontrast und Helligkeit fein-einstellen.
+ </description>
+ <screenshot src="http://www.dreamboxupdate.com/preview/videotune.jpg" />
+ </info>
+ <files type="package"> <!-- without versionnumber, without .ipkg-suffix -->
+ <file type="package" name="enigma2-plugin-systemplugins-videotune" />
+ </files>
+</default>