void kill(int s) { pthread_kill(thread_, s); }
virtual ~Thread();
protected:
- Thread() { }
- void launch() { pthread_create(&thread_, 0, &main_, this); }
+ Thread(): valid_(false) { }
+ void launch() { if(!valid_) pthread_create(&thread_, 0, &main_, this); }
virtual void *main()=0;
void exit(void *r) { pthread_exit(r); }
private:
pthread_t thread_;
+ bool valid_;
Thread(const Thread &);
Thread &operator=(const Thread &);