aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Nguyen <olivernguyen@google.com>2022-01-07 19:27:53 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-01-07 19:27:53 +0000
commit1e0518deed413a57dfaaffb5ee6cbb1c41f786fa (patch)
tree6ccb427df3fbc4a579f685327e633b4b142d54a1
parentae03a639f50411db8423f2c2c75f24fe68fa56b9 (diff)
parent473f391baad0c5c25a5d82ccda0b31825b11d7be (diff)
downloadjacoco-1e0518deed413a57dfaaffb5ee6cbb1c41f786fa.tar.gz
Always recreate the Agent instead of storing a singleton. am: 473f391baa
Original change: https://android-review.googlesource.com/c/platform/external/jacoco/+/1940081 Change-Id: I65c44cde9fa5175f72c8a862758d5b32a8399301
-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;