summaryrefslogtreecommitdiffhomepage
path: root/talpid-core/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-04 14:19:29 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-04 23:40:59 +0000
commite5b4b44fe2362004f78cf6a85f4dd1519ef0ad67 (patch)
tree00bef6012d510a3a7e606f59b77a02a4d6f1958c /talpid-core/src
parent85a9c0fb1351a9294b0c3a467f0401bcf7ce2483 (diff)
downloadmullvadvpn-e5b4b44fe2362004f78cf6a85f4dd1519ef0ad67.tar.xz
mullvadvpn-e5b4b44fe2362004f78cf6a85f4dd1519ef0ad67.zip
Use `Arc<JavaVM>` in `AndroidContext`
Allows replacing the custom `Clone` implementation with a `derive(Clone)`.
Diffstat (limited to 'talpid-core/src')
-rw-r--r--talpid-core/src/offline/android.rs4
-rw-r--r--talpid-core/src/tunnel/tun_provider/android.rs3
2 files changed, 4 insertions, 3 deletions
diff --git a/talpid-core/src/offline/android.rs b/talpid-core/src/offline/android.rs
index eb33331314..4fa45112d6 100644
--- a/talpid-core/src/offline/android.rs
+++ b/talpid-core/src/offline/android.rs
@@ -10,7 +10,7 @@ use jnix::{
},
JnixEnv,
};
-use std::sync::Weak;
+use std::sync::{Arc, Weak};
use talpid_types::{android::AndroidContext, ErrorExt};
#[derive(err_derive::Error, Debug)]
@@ -41,7 +41,7 @@ pub enum Error {
}
pub struct MonitorHandle {
- jvm: JavaVM,
+ jvm: Arc<JavaVM>,
class: GlobalRef,
object: GlobalRef,
}
diff --git a/talpid-core/src/tunnel/tun_provider/android.rs b/talpid-core/src/tunnel/tun_provider/android.rs
index 19d4325abf..09adef6c35 100644
--- a/talpid-core/src/tunnel/tun_provider/android.rs
+++ b/talpid-core/src/tunnel/tun_provider/android.rs
@@ -12,6 +12,7 @@ use std::{
fs::File,
net::{IpAddr, Ipv4Addr, Ipv6Addr},
os::unix::io::{AsRawFd, FromRawFd, RawFd},
+ sync::Arc,
};
use talpid_types::android::AndroidContext;
@@ -45,7 +46,7 @@ pub enum Error {
/// Factory of tunnel devices on Android.
pub struct AndroidTunProvider {
- jvm: JavaVM,
+ jvm: Arc<JavaVM>,
class: GlobalRef,
object: GlobalRef,
active_tun: Option<File>,