add stop service
[enigma2.git] / lib / base / thread.h
index 80c8d92a3adf9858bbfeb0cf0c4a413f489f0883..f6c750aff53894aabac7578042ff463437e7facd 100644 (file)
@@ -2,23 +2,26 @@
 #define __lib_base_thread_h
 
 #include <pthread.h>
+#include <signal.h>
 
 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();
-       
-       void run();
+
+       void run(int prio=0, int policy=0);
 
        virtual void thread()=0;
-       
+       virtual void thread_finished() { }
        void sendSignal(int sig);
-       void kill();
+
+       void kill(bool sendcancel=false);
 };
 
 #endif