Lines Matching +full:recv +full:- +full:empty
1 //===-- BlockInCriticalSectionChecker.cpp -----------------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 // recv etc.) inside a critical section. When sleep(x) is called while a mutex
15 //===----------------------------------------------------------------------===//
106 const auto &ASTCtx = Call.getState()->getStateManager().getContext(); in initIdentifierInfo()
116 cast<CXXRecordDecl>(C->getDecl()->getParent())->getIdentifier(); in matchesImpl()
134 LockRegion = Object->getAsRegion(); in getRegion()
179 {CDM::CLibrary, {"recv"}}};
205 /// Process blocking functions (sleep, getc, fgets, read, recv)
264 C.getState()->add<ActiveCritSections>(MarkToAdd); in handleLock()
277 const auto ActiveSections = State->get<ActiveCritSections>(); in handleUnlock()
286 auto &Factory = State->get_context<ActiveCritSections>(); in handleUnlock()
294 State = State->set<ActiveCritSections>(NewList); in handleUnlock()
301 !C.getState()->get<ActiveCritSections>().isEmpty(); in isBlockingInCritSection()
325 os << "Call to blocking function '" << Call.getCalleeIdentifier()->getName() in reportBlockInCritSection()
329 R->addRange(Call.getSourceRange()); in reportBlockInCritSection()
330 R->markInteresting(Call.getReturnValue()); in reportBlockInCritSection()
337 const BugType *BT = &this->BlockInCritSectionBugType; in createCritSectionNote()
345 BR.getErrorNode()->getState()->get<ActiveCritSections>(); in createCritSectionNote()
350 if (LocksForMutex.empty()) in createCritSectionNote()