| 84 | |
| 85 | |
| 86 | GarbageCollector::~GarbageCollector() |
| 87 | { |
| 88 | SyncLockGuard exGuard(&m_sync, SYNC_EXCLUSIVE, "GarbageCollector::~GarbageCollector"); |
| 89 | |
| 90 | for (FB_SIZE_T pos = 0; pos < m_relations.getCount(); pos++) |
| 91 | { |
| 92 | RelationData* relData = m_relations[pos]; |
| 93 | |
| 94 | Sync sync(&relData->m_sync, "GarbageCollector::~GarbageCollector"); |
| 95 | sync.lock(SYNC_EXCLUSIVE); |
| 96 | |
| 97 | m_relations[pos] = NULL; |
| 98 | sync.unlock(); |
| 99 | delete relData; |
| 100 | } |
| 101 | |
| 102 | m_relations.clear(); |
| 103 | } |
| 104 | |
| 105 | |
| 106 | TraNumber GarbageCollector::addPage(const USHORT relID, const ULONG pageno, const TraNumber tranid) |