Skip to content

Commit e5fd91d

Browse files
committed
change way for cancelling task to decrease size of TurnArray: as it is
used by the Task management, it may cause a blocking situation
1 parent 202c646 commit e5fd91d

File tree

1 file changed

+2
-4
lines changed
  • net.lecousin.core/src/main/java/net/lecousin/framework/collections

1 file changed

+2
-4
lines changed

net.lecousin.core/src/main/java/net/lecousin/framework/collections/TurnArray.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -297,10 +297,8 @@ private void increase() {
297297
}
298298

299299
private void increase(int newSize) {
300-
if (decreaseTask != null) {
301-
decreaseTask.cancel(new CancelException("TurnArray increase again"));
300+
if (decreaseTask != null)
302301
decreaseTask = null;
303-
}
304302
Object[] a = new Object[newSize];
305303
if (end == -1) {
306304
System.arraycopy(array, start, a, 0, array.length - start);
@@ -360,7 +358,7 @@ public DecreaseTask() {
360358
@Override
361359
public Void run() {
362360
synchronized (TurnArray.this) {
363-
if (isCancelling()) return null;
361+
if (decreaseTask != this) return null;
364362
decreaseTask = null;
365363
decrease();
366364
}

0 commit comments

Comments
 (0)