Reputation: 280
Can you cancel a Boost Thread as you would a pthread?
I'm writing a simple watchdog to terminate worker threads if they crash and there doesn't seem to be a way to simply cancel a thread in the Boost Thread library.
Upvotes: 7
Views: 3525
Reputation: 13731
They don't support cancelling out of the box (as pointed out by Duck), however depending on the processing going on inside your worker thread(s), I'd consider using a boost::condition
to notify the thread that it should finish (cleanly) at the earliest opportunity.
Upvotes: 2
Reputation: 27582
They don't support cancel, which is a good thing since it can cause all manner of subtle problems.
Take a look at the section of docs that cover thread interruption and the boost::thread_interrupted exception and fashion something that allows you to accomplish what you want while also cleaning things up.
Upvotes: 10