Last active
November 18, 2019 19:02
-
-
Save andreastt/dead122008673e1497ae32969550f760 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/remote/RemoteAgent.jsm b/remote/RemoteAgent.jsm | |
index 4387879dd5b4..73a4206b42b6 100644 | |
--- a/remote/RemoteAgent.jsm | |
+++ b/remote/RemoteAgent.jsm | |
@@ -14,10 +14,12 @@ const { XPCOMUtils } = ChromeUtils.import( | |
XPCOMUtils.defineLazyModuleGetters(this, { | |
HttpServer: "chrome://remote/content/server/HTTPD.jsm", | |
JSONHandler: "chrome://remote/content/JSONHandler.jsm", | |
+ Log: "chrome://remote/content/Log.jsm", | |
Preferences: "resource://gre/modules/Preferences.jsm", | |
RecommendedPreferences: "chrome://remote/content/RecommendedPreferences.jsm", | |
Targets: "chrome://remote/content/targets/Targets.jsm", | |
}); | |
+XPCOMUtils.defineLazyGetter(this, "log", Log.get); | |
const ENABLED = "remote.enabled"; | |
const FORCE_LOCAL = "remote.force-local"; | |
@@ -100,11 +102,16 @@ class RemoteAgentClass { | |
// destroy targets before stopping server, | |
// otherwise the HTTP will fail to stop | |
- this.targets.destructor(); | |
+ if (this.targets) { | |
+ this.targets.destructor(); | |
+ } | |
if (this.listening) { | |
await this.server.stop(); | |
} | |
+ } catch (e) { | |
+ // this function must never fail | |
+ log.error("unable to stop listener", e); | |
} finally { | |
this.server = null; | |
this.targets = null; | |
diff --git a/remote/remote_agent.rs b/remote/remote_agent.rs | |
index 6e65b1d70639..1d1ed9495af5 100644 | |
--- a/remote/remote_agent.rs | |
+++ b/remote/remote_agent.rs | |
@@ -58,8 +58,9 @@ impl RemoteAgent { | |
impl Drop for RemoteAgent { | |
fn drop(&mut self) { | |
+ // it should always be safe to call nsIRemoteAgent.close() | |
if let Err(e) = self.close() { | |
- error!("unable to stop remote agent: {}", e); | |
+ error!("unable to close remote agent listener: {}", e); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment