aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Nguyen <olivernguyen@google.com>2022-01-07 19:55:09 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-01-07 19:55:09 +0000
commit2f9818da914e546f8a9bb0ad7d9e774541ac270f (patch)
tree6ccb427df3fbc4a579f685327e633b4b142d54a1
parentb43d2ce9b6e3f0075332a1ebe27311eaffd951d0 (diff)
parent1e0518deed413a57dfaaffb5ee6cbb1c41f786fa (diff)
downloadjacoco-2f9818da914e546f8a9bb0ad7d9e774541ac270f.tar.gz
Always recreate the Agent instead of storing a singleton. am: 473f391baa am: 1e0518deed
Original change: https://android-review.googlesource.com/c/platform/external/jacoco/+/1940081 Change-Id: Ibeda166f619298dd8d37a10fe1773774e3068330
-rw-r--r--org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Agent.java26
1 files changed, 10 insertions, 16 deletions
diff --git a/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Agent.java b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Agent.java
index 45b7ccdd..c4bf874a 100644
--- a/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Agent.java
+++ b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Agent.java
@@ -34,8 +34,6 @@ import org.jacoco.core.runtime.RuntimeData;
*/
public class Agent implements IAgent {
- private static Agent singleton;
-
/**
* Returns a global instance which is already started. If the method is
* called the first time the instance is created with the given options.
@@ -63,18 +61,15 @@ public class Agent implements IAgent {
* @return global instance
*/
public static synchronized Agent getInstance(final AgentOptions options, RuntimeData data) {
- if (singleton == null) {
- final Agent agent = new Agent(options, IExceptionLogger.SYSTEM_ERR, data);
- agent.startup();
- Runtime.getRuntime().addShutdownHook(new Thread() {
- @Override
- public void run() {
- agent.shutdown();
- }
- });
- singleton = agent;
- }
- return singleton;
+ final Agent agent = new Agent(options, IExceptionLogger.SYSTEM_ERR, data);
+ agent.startup();
+ Runtime.getRuntime().addShutdownHook(new Thread() {
+ @Override
+ public void run() {
+ agent.shutdown();
+ }
+ });
+ return agent;
}
// END android-change
@@ -93,9 +88,8 @@ public class Agent implements IAgent {
public static synchronized Agent getInstance() throws IllegalStateException {
// BEGIN android-change
// throw new IllegalStateException("JaCoCo agent not started.");
- singleton = Offline.createAgent();
+ return Offline.createAgent();
// END android-change
- return singleton;
}
private final AgentOptions options;