Merge "Syncronize pdfium initialization between users." into nyc-dev

This commit is contained in:
TreeHugger Robot
2016-04-27 18:53:33 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 18 deletions

View File

@@ -51,22 +51,22 @@ static struct {
jfieldID bottom;
} gRectClassInfo;
static Mutex sLock;
static int sUnmatchedInitRequestCount = 0;
// Also used in PdfRenderer.cpp
Mutex sPdfiumLock;
int sUnmatchedPdfiumInitRequestCount = 0;
static void initializeLibraryIfNeeded() {
Mutex::Autolock _l(sLock);
if (sUnmatchedInitRequestCount == 0) {
Mutex::Autolock _l(sPdfiumLock);
if (sUnmatchedPdfiumInitRequestCount == 0) {
FPDF_InitLibrary();
}
sUnmatchedInitRequestCount++;
sUnmatchedPdfiumInitRequestCount++;
}
static void destroyLibraryIfNeeded() {
Mutex::Autolock _l(sLock);
sUnmatchedInitRequestCount--;
if (sUnmatchedInitRequestCount == 0) {
Mutex::Autolock _l(sPdfiumLock);
sUnmatchedPdfiumInitRequestCount--;
if (sUnmatchedPdfiumInitRequestCount == 0) {
FPDF_DestroyLibrary();
}
}

View File

@@ -43,22 +43,22 @@ static struct {
jfieldID y;
} gPointClassInfo;
static Mutex sLock;
static int sUnmatchedInitRequestCount = 0;
// See PdfEditor.cpp
extern Mutex sPdfiumLock;
extern int sUnmatchedPdfiumInitRequestCount;
static void initializeLibraryIfNeeded() {
Mutex::Autolock _l(sLock);
if (sUnmatchedInitRequestCount == 0) {
Mutex::Autolock _l(sPdfiumLock);
if (sUnmatchedPdfiumInitRequestCount == 0) {
FPDF_InitLibrary();
}
sUnmatchedInitRequestCount++;
sUnmatchedPdfiumInitRequestCount++;
}
static void destroyLibraryIfNeeded() {
Mutex::Autolock _l(sLock);
sUnmatchedInitRequestCount--;
if (sUnmatchedInitRequestCount == 0) {
Mutex::Autolock _l(sPdfiumLock);
sUnmatchedPdfiumInitRequestCount--;
if (sUnmatchedPdfiumInitRequestCount == 0) {
FPDF_DestroyLibrary();
}
}