Skip to content

Commit

Permalink
[misc] avoid race condition on Connection.abort() if the options "ena…
Browse files Browse the repository at this point in the history
…blePacketDebug" and "log" are enable
  • Loading branch information
rusher committed Sep 27, 2017
1 parent 7c53361 commit 776446e
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions src/main/java/org/mariadb/jdbc/internal/io/LruTraceCache.java
Expand Up @@ -56,9 +56,7 @@

import java.time.Instant;
import java.time.format.DateTimeFormatter;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import java.util.*;

public class LruTraceCache extends LinkedHashMap<Instant, TraceObject> {

Expand All @@ -76,7 +74,7 @@ protected boolean removeEldestEntry(Map.Entry<Instant, TraceObject> eldest) {
*
* @return trace cache value
*/
public String printStack() {
public synchronized String printStack() {
StringBuilder sb = new StringBuilder();
Set<Map.Entry<Instant, TraceObject>> set = entrySet();
for (Map.Entry<Instant, TraceObject> entry : set) {
Expand Down Expand Up @@ -118,10 +116,10 @@ public String printStack() {
/**
* Permit to clear array's of array, to help garbage.
*/
public void clearMemory() {
Set<Map.Entry<Instant, TraceObject>> set = entrySet();
for (Map.Entry<Instant, TraceObject> entry : set) {
entry.getValue().remove();
public synchronized void clearMemory() {
Collection<TraceObject> traceObjects = values();
for (TraceObject traceObject : traceObjects) {
traceObject.remove();
}
this.clear();
}
Expand Down

0 comments on commit 776446e

Please sign in to comment.