copy into new array when returning from resolver

This commit is contained in:
Daniel Gultsch 2018-09-20 20:29:21 +02:00
parent 5be64de7be
commit 4930f22615

View file

@ -106,14 +106,18 @@ public class Resolver {
threads[1].join(); threads[1].join();
if (results.size() > 0) { if (results.size() > 0) {
threads[2].interrupt(); threads[2].interrupt();
synchronized (results) {
Collections.sort(results); Collections.sort(results);
Log.d(Config.LOGTAG, Resolver.class.getSimpleName() + ": " + results.toString()); Log.d(Config.LOGTAG, Resolver.class.getSimpleName() + ": " + results.toString());
return results; return new ArrayList<>(results);
}
} else { } else {
threads[2].join(); threads[2].join();
synchronized (fallbackResults) {
Collections.sort(fallbackResults); Collections.sort(fallbackResults);
Log.d(Config.LOGTAG, Resolver.class.getSimpleName() + ": " + fallbackResults.toString()); Log.d(Config.LOGTAG, Resolver.class.getSimpleName() + ": " + fallbackResults.toString());
return fallbackResults; return new ArrayList<>(fallbackResults);
}
} }
} catch (InterruptedException e) { } catch (InterruptedException e) {
return results; return results;