Add synch to fix race causing AIOOBE
http://forum.i2p/viewtopic.php?t=5061
This commit is contained in:
@ -361,6 +361,8 @@ public class ClientConnectionRunner {
|
||||
// TunnelPool.locked_buildNewLeaseSet() ensures that leases are sorted,
|
||||
// so the comparison will always work.
|
||||
int leases = set.getLeaseCount();
|
||||
// synch so _currentLeaseSet isn't changed out from under us
|
||||
synchronized (this) {
|
||||
if (_currentLeaseSet != null && _currentLeaseSet.getLeaseCount() == leases) {
|
||||
for (int i = 0; i < leases; i++) {
|
||||
if (! _currentLeaseSet.getLease(i).getTunnelId().equals(set.getLease(i).getTunnelId()))
|
||||
@ -376,6 +378,7 @@ public class ClientConnectionRunner {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (_log.shouldLog(Log.INFO))
|
||||
_log.info("Current leaseSet " + _currentLeaseSet + "\nNew leaseSet " + set);
|
||||
LeaseRequestState state = null;
|
||||
|
Reference in New Issue
Block a user