flutter_flutter/libs/minikin/MinikinRefCounted.cpp
Raph Levien b80c1f19c5 Better refcounting and locking
All major externally accessible objects (especially FontFamily and
FontCollection) are now reference counted. In addition, there is a
global lock intended to make operations thread-safe.

WIP notice: in this version of the patch, not all external API entry
points are protected by the lock. That should be fixed.

Change-Id: I14106196e99eb101e8bf1bcb4b81359759d2086c
2014-05-12 10:28:15 -07:00

36 lines
954 B
C++

/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Base class for reference counted objects in Minikin
#include "MinikinInternal.h"
#include <minikin/MinikinRefCounted.h>
namespace android {
void MinikinRefCounted::Ref() {
AutoMutex _l(gMinikinLock);
this->RefLocked();
}
void MinikinRefCounted::Unref() {
AutoMutex _l(gMinikinLock);
this->UnrefLocked();
}
}