Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Nem sikerült feloldani a "lock" zárolást a func függvényben.
Megjegyzések
A C/C++ programokban a szintaktikai hatókörű zárolási és zárolási kiadási párok kényszerítése nem a nyelv által történik. A függvény zárolási mellékhatást okozhat azáltal, hogy megfigyelhető módosítást végez az egyidejűségi állapoton. A zár burkoló függvény például növeli egy adott zár megszerzéseinek számát, vagy zárszámot.
A zárolás megszerzése vagy feloldása által okozott mellékhatással rendelkező függvényeket megjegyzésekkel láthatja el _Acquires_lock_ illetve _Releases_lock_ használatával. Ilyen megjelölések nélkül elvárt, hogy a függvény ne módosítsa a zárolások számát a visszatérés után. Ha a beszerzések és kiadások nem kiegyensúlyozottak, árvanak minősülnek. Akkor kerül kiadásra a C26115 figyelmeztetés, ha egy függvény elhagyott zárolást vezet be.
Example
Az alábbi példa a C26115 figyelmeztetést generálja, mert egy olyan függvény árva zárolása van, amely nem jegyzetekkel van eljegyzve _Acquires_lock_.
typedef struct _DATA
{
CRITICAL_SECTION cs;
} DATA;
void FailToReleaseLock(int flag, DATA* p)
{
EnterCriticalSection(&p->cs);
if (flag)
return; // Warning C26115
LeaveCriticalSection(&p->cs);
}