Lines Matching full:lock
10 // This defines PthreadLockChecker, a simple lock -> unlock checker.
66 void AcquireLock(CheckerContext &C, const CallExpr *CE, SVal lock,
69 void ReleaseLock(CheckerContext &C, const CallExpr *CE, SVal lock) const;
70 void DestroyLock(CheckerContext &C, const CallExpr *CE, SVal Lock) const;
71 void InitLock(CheckerContext &C, const CallExpr *CE, SVal Lock) const;
76 // GDM Entry for tracking lock state.
125 SVal lock, bool isTryLock,
128 const MemRegion *lockR = lock.getAsRegion();
144 "Lock checker"));
149 "This lock has already been acquired",
162 // Bifurcate the state, and allow a mode where the lock acquisition fails.
188 // Record that the lock was acquired.
195 SVal lock) const {
197 const MemRegion *lockR = lock.getAsRegion();
207 "Lock checker"));
212 "This lock has already been unlocked",
231 BT_lor.reset(new BugType(this, "Lock order reversal", "Lock checker"));
237 "acquired lock. Possible lock order "
244 // Record that the lock was released.
253 SVal Lock) const {
255 const MemRegion *LockR = Lock.getAsRegion();
271 Message = "This lock is still locked";
273 Message = "This lock has already been destroyed";
277 BT_destroylock.reset(new BugType(this, "Destroy invalid lock",
278 "Lock checker"));
288 SVal Lock) const {
290 const MemRegion *LockR = Lock.getAsRegion();
306 Message = "This lock is still being held";
308 Message = "This lock has already been initialized";
312 BT_initlock.reset(new BugType(this, "Init invalid lock",
313 "Lock checker"));
325 BT_destroylock.reset(new BugType(this, "Use destroyed lock",
326 "Lock checker"));
331 "This lock has already been destroyed",