Создал самописную обёртку MutexLocker, согласно RAII.
class pthread_mutex_locker
{
public:
pthread_mutex_locker(pthread_mutex_wrapper * mu);
~pthread_mutex_locker();
private:
pthread_mutex_wrapper * mutex;
};
Применил свой MutexLocker c анонимным объектом.
// Тело какой-то функции.
{
pthread_mutex_locker(&mutex);
//Какой-то код
}
Есть подзрение, что анонимный объект уничтожается раньше, чем нужно и не защищает код. Как сделать, что бы он уничтожался во время выхода из функции. Должен ли MutexLocker быть именнованным объетом? Гарантируется ли уничтожение именнованных объектов по выходу из функции,а не вдругом месте?
gcc version 4.8.1 20130909