mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Add locking around CatalystInstance.getJavaScriptContext()
Reviewed By: kathryngray Differential Revision: D5861693 fbshipit-source-id: 226ff15622d5e1a8ae3ad4c63f1434bd95c1fa21
This commit is contained in:
committed by
Facebook Github Bot
parent
c1058b1e90
commit
e9aab0d452
@@ -0,0 +1,29 @@
|
||||
// Copyright 2004-present Facebook. All Rights Reserved.
|
||||
|
||||
package com.facebook.react.bridge;
|
||||
|
||||
import javax.annotation.concurrent.GuardedBy;
|
||||
|
||||
/**
|
||||
* Wrapper for JavaScriptContext native pointer. CatalystInstanceImpl creates this on demand, and
|
||||
* will call clear() before destroying the VM. People who need the raw JavaScriptContext pointer
|
||||
* can synchronize on this wrapper object to guarantee that it will not be destroyed.
|
||||
*/
|
||||
public class JavaScriptContextHolder {
|
||||
@GuardedBy("this")
|
||||
private long mContext;
|
||||
|
||||
public JavaScriptContextHolder(long context) {
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
@GuardedBy("this")
|
||||
public long get() {
|
||||
return mContext;
|
||||
}
|
||||
|
||||
public synchronized void clear() {
|
||||
mContext = 0;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user