Skip to content

Commit dd4ae89

Browse files
authored
add synchronize statement for modifying eventlist and serializing eventlist. (microsoft#103)
1 parent 330802a commit dd4ae89

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

com.microsoft.java.debug.core/src/main/java/com/microsoft/java/debug/core/UsageDataSession.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,9 @@ public void submitUsageData() {
137137
props.put("commandCount", JsonUtils.toJson(commandCountMap));
138138
props.put("breakpointCount", JsonUtils.toJson(breakpointCountMap));
139139
if (jdiEventSequenceEnabled) {
140-
props.put("jdiEventSequence", JsonUtils.toJson(eventList));
140+
synchronized (eventList) {
141+
props.put("jdiEventSequence", JsonUtils.toJson(eventList));
142+
}
141143
}
142144
usageDataLogger.log(Level.INFO, "session usage data summary", props);
143145
}
@@ -152,7 +154,9 @@ public static void recordEvent(Event event) {
152154
Map<String, String> eventEntry = new HashMap<>();
153155
eventEntry.put("timestamp", String.valueOf(System.currentTimeMillis()));
154156
eventEntry.put("event", event.toString());
155-
currentSession.eventList.add(JsonUtils.toJson(eventEntry));
157+
synchronized (currentSession.eventList) {
158+
currentSession.eventList.add(JsonUtils.toJson(eventEntry));
159+
}
156160
}
157161
} catch (Exception e) {
158162
logger.log(Level.SEVERE, String.format("Exception on recording event: %s.", e.toString()), e);

0 commit comments

Comments
 (0)