merge some code with enigma code
[enigma2.git] / lib / base / thread.h
index 80c8d92a3adf9858bbfeb0cf0c4a413f489f0883..f71300579238c22b839f14e69d051e0a1776b30c 100644 (file)
@@ -2,23 +2,26 @@
 #define __lib_base_thread_h
 
 #include <pthread.h>
 #define __lib_base_thread_h
 
 #include <pthread.h>
+#include <signal.h>
 
 class eThread
 {
        pthread_t the_thread;
        static void *wrapper(void *ptr);
        int alive;
 
 class eThread
 {
        pthread_t the_thread;
        static void *wrapper(void *ptr);
        int alive;
+       static void thread_completed(void *p);
 public:
        bool thread_running() { return alive; }
        eThread();
        virtual ~eThread();
        
 public:
        bool thread_running() { return alive; }
        eThread();
        virtual ~eThread();
        
-       void run();
+       void run(int prio=0,int policy=0);
 
        virtual void thread()=0;
 
        virtual void thread()=0;
-       
+       virtual void thread_finished() { }
+
        void sendSignal(int sig);
        void sendSignal(int sig);
-       void kill();
+       void kill(bool hard=false);
 };
 
 #endif
 };
 
 #endif