HashMap: Fix the build with GCC 7.
This commit is contained in:
@@ -163,7 +163,7 @@ public:
|
||||
typedef typename HashMap<Key, Value>::Iterator Iterator;
|
||||
|
||||
SynchronizedHashMap() : Locker("synchronized hash map") {}
|
||||
~SynchronizedHashMap() { Lock(); }
|
||||
~SynchronizedHashMap() { Locker::Lock(); }
|
||||
|
||||
status_t InitCheck() const
|
||||
{
|
||||
@@ -186,6 +186,14 @@ public:
|
||||
return fMap.Remove(key);
|
||||
}
|
||||
|
||||
Value Remove(Iterator& it)
|
||||
{
|
||||
MapLocker locker(this);
|
||||
if (!locker.IsLocked())
|
||||
return Value();
|
||||
return fMap.Remove(it);
|
||||
}
|
||||
|
||||
void Clear()
|
||||
{
|
||||
MapLocker locker(this);
|
||||
|
||||
@@ -85,7 +85,6 @@ BNetworkCookieJar::~BNetworkCookieJar()
|
||||
PrivateHashMap::Iterator it = fCookieHashMap->GetIterator();
|
||||
while (it.HasNext()) {
|
||||
BNetworkCookieList* list = it.Next().value;
|
||||
it.Remove();
|
||||
list->LockForWriting();
|
||||
delete list;
|
||||
}
|
||||
@@ -787,7 +786,7 @@ BNetworkCookieJar::UrlIterator::Remove()
|
||||
fLastList->RemoveItemAt(fLastIndex);
|
||||
|
||||
if (fLastList->CountItems() == 0) {
|
||||
fIterator->fCookieMapIterator.Remove();
|
||||
fCookieJar->fCookieHashMap->Remove(fIterator->fCookieMapIterator);
|
||||
delete fLastList;
|
||||
fLastList = NULL;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user