MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / removeDirty

Function removeDirty

src/jrd/cch.cpp:172–188  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

170}
171
172static inline void removeDirty(BufferControl* bcb, BufferDesc* bdb)
173{
174 if (bdb->bdb_dirty.que_forward == &bdb->bdb_dirty)
175 return;
176
177 Sync dirtySync(&bcb->bcb_syncDirtyBdbs, "removeDirty");
178 dirtySync.lock(SYNC_EXCLUSIVE);
179
180 if (bdb->bdb_dirty.que_forward == &bdb->bdb_dirty)
181 return;
182
183 fb_assert(bcb->bcb_dirty_count > 0);
184
185 bcb->bcb_dirty_count--;
186 QUE_DELETE(bdb->bdb_dirty);
187 QUE_INIT(bdb->bdb_dirty);
188}
189
190static void flushDirty(thread_db* tdbb, SLONG transaction_mask, const bool sys_only);
191static void flushAll(thread_db* tdbb, USHORT flush_flag);

Callers 5

CCH_clean_pageFunction · 0.85
CCH_forget_pageFunction · 0.85
flushDirtyFunction · 0.85
get_oldest_bufferFunction · 0.85
write_pageFunction · 0.85

Calls 3

QUE_DELETEFunction · 0.85
QUE_INITFunction · 0.85
lockMethod · 0.45

Tested by

no test coverage detected