1 Sep
2009
1 Sep
'09
2:50 p.m.
AMDG Bjarne Laursen wrote:
If I have a deadline_timer in my class and my class is deleted, the compleetion function will be called (with error code). But as the destructor have already been run I guess that the 'this' pointer will be invalid!
Correct.
Is this safe?
No.
What if my compleetion function is virtual?
It doesn't matter.
timer.async_wait(boost::bind(&MyClass::OnTimer, this, boost::asio::placeholders::error));
The safest way to handle it is to use shared_ptr and enable_shared_from_this. In Christ, Steven Watanabe