Subversion Repositories tpanel

Rev

Rev 293 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 293 Rev 299
Line 58... Line 58...
58
 
58
 
59
    _M_device.lock();
59
    _M_device.lock();
60
}
60
}
61
 
61
 
62
template<typename _TMutex>
62
template<typename _TMutex>
-
 
63
TLock<_TMutex>::TLock(mutex_type& __m, bool tryit, char *file, int line)
-
 
64
    : _M_device(__m),
-
 
65
      mFilename(file),
-
 
66
      mLineNumber(line),
-
 
67
      mNoDeathLock(tryit)
-
 
68
{
-
 
69
    DECL_TRACER("TLock<_TMutex>::TLock(mutex_type& __m, bool tryit, char *file, int line)");
-
 
70
 
-
 
71
    stripFileName();
-
 
72
    bool death = false;
-
 
73
    bool l = addLock(&death);
-
 
74
 
-
 
75
    if ((mNoDeathLock || death) && !l)
-
 
76
        return;
-
 
77
 
-
 
78
    if (tryit)
-
 
79
        _M_device.try_lock();
-
 
80
    else
-
 
81
        _M_device.lock();
-
 
82
}
-
 
83
 
-
 
84
template<typename _TMutex>
63
TLock<_TMutex>::TLock(TLock::mutex_type& __m, std::adopt_lock_t) noexcept
85
TLock<_TMutex>::TLock(TLock::mutex_type& __m, std::adopt_lock_t) noexcept
64
    : _M_device(__m)
86
    : _M_device(__m)
65
{
87
{
66
    DECL_TRACER("TLock<_TMutex>::TLock(TLock::mutex_type& __m, std::adopt_lock_t) noexcept");
88
    DECL_TRACER("TLock<_TMutex>::TLock(TLock::mutex_type& __m, std::adopt_lock_t) noexcept");
67
}
89
}