On 4/27/07, Ken Klose
I've got a singleton object that is trying to run its operator() method in a separate thread, but I'm getting a segfault when I construct the thread object:
PublishedListener::PublishedListener(string directory) { _thread = new thread(*this); // segfault here }
PublishedListener.h: class PublishedListener { public: static PublishedListener &getInstance(); void run(); void operator()(); boost::filesystem::path getItemDirectory(); virtual ~PublishedListener(); private: PublishedListener(std::string directory); static PublishedListener *_instance; boost::thread *_thread; boost::filesystem::path *itemDirectory; };
Thanks in advance!
Are you sure the implementation of operator()() isnt seg faulting, the thread should be able to invoke it properly and i dont see any reason for the thread instantiation to segfault.. HTH Digz