diff options
| author | Fraxinas <andreas.frisch@multimedia-labs.de> | 2009-05-20 11:24:18 +0200 |
|---|---|---|
| committer | Fraxinas <andreas.frisch@multimedia-labs.de> | 2009-05-20 11:24:18 +0200 |
| commit | 0c306d0eff685d81732fae1d1b0a6f951c27bd63 (patch) | |
| tree | 64f6253503a47d853db6124b1a0ee5b8ed1467a8 /lib | |
| parent | 258b45224b4ab38d8019b8bcd9f51d5143719b4a (diff) | |
| parent | 4ae68fe4023fe08deee027c9da0ce10fe70f75da (diff) | |
| download | enigma2-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.cpp | 11 | ||||
| -rw-r--r-- | lib/base/thread.h | 2 | ||||
| -rw-r--r-- | lib/python/Plugins/SystemPlugins/VideoTune/meta/Makefile.am | 3 | ||||
| -rw-r--r-- | lib/python/Plugins/SystemPlugins/VideoTune/meta/plugin_videotune.xml | 27 |
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> |
