mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
e9aab0d452
Reviewed By: kathryngray Differential Revision: D5861693 fbshipit-source-id: 226ff15622d5e1a8ae3ad4c63f1434bd95c1fa21
30 lines
725 B
Java
30 lines
725 B
Java
// 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;
|
|
}
|
|
|
|
}
|