11 Mar
2009
11 Mar
'09
9:18 a.m.
Roman Perepelitsa wrote:
You should not manually call destructors of automatic (stack allocated) objects. It's an Undefined Behavior and in practice it usually causes destructor to be called twice. You might want to put lock_guard in additional scope.
{ boost::lock_guardboost::mutex lock(_mut); // Data received from RS232 _device.GetData(_buffer); // .... CODE .... } // Destructor of lock is called here. signal_OnData(); }
Roman Perepelitsa.
Thanks for the suggestion Roman! Daniele.