Justin Scheiner
Justin Scheiner

Reputation: 280

Boost Thread Cancelling

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

Answers (2)

Alan
Alan

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

Duck
Duck

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

Related Questions