Skip to content

Commit 3b41def

Browse files
author
Stephane Landelle
committed
MakeTimeoutsHolder threadsafe, close AsyncHttpClient#534
1 parent 710a19f commit 3b41def

File tree

1 file changed

+5
-4
lines changed
  • providers/netty/src/main/java/org/asynchttpclient/providers/netty/request/timeout

1 file changed

+5
-4
lines changed

providers/netty/src/main/java/org/asynchttpclient/providers/netty/request/timeout/TimeoutsHolder.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,19 @@
1717

1818
import io.netty.util.Timeout;
1919

20+
import java.util.concurrent.atomic.AtomicBoolean;
21+
2022
public class TimeoutsHolder {
2123

24+
private AtomicBoolean cancelled = new AtomicBoolean();
2225
public volatile Timeout requestTimeout;
2326
public volatile Timeout idleConnectionTimeout;
2427

2528
public void cancel() {
26-
if (requestTimeout != null) {
29+
if (cancelled.compareAndSet(false, true)) {
2730
requestTimeout.cancel();
28-
requestTimeout = null;
29-
}
30-
if (idleConnectionTimeout != null) {
3131
idleConnectionTimeout.cancel();
32+
requestTimeout = null;
3233
idleConnectionTimeout = null;
3334
}
3435
}

0 commit comments

Comments
 (0)