summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-07 13:06:08 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-09 18:42:32 +0000
commit8a7f0acc9d313bdbff914e463f9cb9d36b5625d0 (patch)
treec382a88deac08d0ddf7e4b2a9316d10818f7e64c
parentf7082c45e654188f39cf144fdeee60af1358d762 (diff)
downloadmullvadvpn-8a7f0acc9d313bdbff914e463f9cb9d36b5625d0.tar.xz
mullvadvpn-8a7f0acc9d313bdbff914e463f9cb9d36b5625d0.zip
Always have a command sender in `DaemonInterface`
-rw-r--r--Cargo.lock1
-rw-r--r--mullvad-jni/Cargo.toml1
-rw-r--r--mullvad-jni/src/daemon_interface.rs20
-rw-r--r--mullvad-jni/src/lib.rs4
4 files changed, 5 insertions, 21 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 60c648291d..88239a7b44 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1325,7 +1325,6 @@ dependencies = [
"mullvad-paths 0.1.0",
"mullvad-problem-report 2019.10.0-beta2",
"mullvad-types 0.1.0",
- "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"talpid-core 0.1.0",
"talpid-types 0.1.0",
]
diff --git a/mullvad-jni/Cargo.toml b/mullvad-jni/Cargo.toml
index 138a1be50e..547da3ffd5 100644
--- a/mullvad-jni/Cargo.toml
+++ b/mullvad-jni/Cargo.toml
@@ -19,7 +19,6 @@ jsonrpc-core = "8"
lazy_static = "1"
log = "0.4"
log-panics = "2"
-parking_lot = "0.9"
mullvad-daemon = { path = "../mullvad-daemon" }
mullvad-paths = { path = "../mullvad-paths" }
diff --git a/mullvad-jni/src/daemon_interface.rs b/mullvad-jni/src/daemon_interface.rs
index 2b37a16d21..fdd03435bf 100644
--- a/mullvad-jni/src/daemon_interface.rs
+++ b/mullvad-jni/src/daemon_interface.rs
@@ -10,7 +10,6 @@ use mullvad_types::{
version::AppVersionInfo,
wireguard::{self, KeygenEvent},
};
-use parking_lot::Mutex;
#[derive(Debug, err_derive::Error)]
pub enum Error {
@@ -30,20 +29,12 @@ pub enum Error {
type Result<T> = std::result::Result<T, Error>;
pub struct DaemonInterface {
- command_sender: Mutex<Option<DaemonCommandSender>>,
+ command_sender: DaemonCommandSender,
}
impl DaemonInterface {
- pub fn new() -> Self {
- DaemonInterface {
- command_sender: Mutex::new(None),
- }
- }
-
- pub fn set_command_sender(&self, sender: DaemonCommandSender) {
- let mut command_sender = self.command_sender.lock();
-
- *command_sender = Some(sender);
+ pub fn new(command_sender: DaemonCommandSender) -> Self {
+ DaemonInterface { command_sender }
}
pub fn connect(&self) -> Result<()> {
@@ -190,9 +181,6 @@ impl DaemonInterface {
}
fn send_command(&self, command: ManagementCommand) -> Result<()> {
- let locked_sender = self.command_sender.lock();
- let sender = locked_sender.as_ref().ok_or(Error::NoSender)?;
-
- sender.send(command).map_err(Error::NoDaemon)
+ self.command_sender.send(command).map_err(Error::NoDaemon)
}
}
diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs
index 1d5ed9de2a..ec80ca745b 100644
--- a/mullvad-jni/src/lib.rs
+++ b/mullvad-jni/src/lib.rs
@@ -134,9 +134,7 @@ fn initialize(
) -> Result<(), Error> {
let android_context = create_android_context(env, *vpn_service)?;
let daemon_command_sender = spawn_daemon(env, this, log_dir, android_context)?;
- let daemon_interface = Box::new(DaemonInterface::new());
-
- daemon_interface.set_command_sender(daemon_command_sender);
+ let daemon_interface = Box::new(DaemonInterface::new(daemon_command_sender));
set_daemon_interface_address(env, this, Box::into_raw(daemon_interface) as jlong);