Skip to content

Commit 8455fa8

Browse files
committed
Fix build and test
1 parent 312dfac commit 8455fa8

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/java.net.http/share/classes/jdk/internal/net/http/Stream.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
import java.util.concurrent.Flow.Subscription;
4747
import java.util.concurrent.atomic.AtomicInteger;
4848
import java.util.concurrent.atomic.AtomicReference;
49+
import java.util.concurrent.locks.Lock;
50+
import java.util.concurrent.locks.ReentrantLock;
4951
import java.util.function.BiPredicate;
5052
import java.net.http.HttpClient;
5153
import java.net.http.HttpHeaders;
@@ -431,13 +433,10 @@ private void receiveDataFrame(DataFrame df) {
431433
// is OK.
432434
private void pushDataFrame(int len, DataFrame df) {
433435
boolean closed = false;
434-
stateLock.lock();
435-
try {
436+
synchronized(this) {
436437
if (!(closed = this.closed)) {
437438
inputQ.add(df);
438439
}
439-
} finally {
440-
stateLock.unlock();
441440
}
442441
if (closed && len > 0) connection.releaseUnconsumed(df);
443442
}

test/jdk/java/net/httpclient/http2/StreamFlowControlTest.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import java.net.http.HttpClient;
4242
import java.net.http.HttpHeaders;
4343
import java.net.http.HttpRequest;
44+
import java.net.http.HttpRequest.BodyPublishers;
4445
import java.net.http.HttpResponse;
4546
import java.net.http.HttpResponse.BodyHandlers;
4647
import java.nio.charset.StandardCharsets;
@@ -296,10 +297,14 @@ public void setup() throws Exception {
296297
this.https2TestServer.start();
297298

298299
// warmup to eliminate delay due to SSL class loading and initialization.
299-
try (var client = HttpClient.newBuilder().sslContext(sslContext).build()) {
300-
var request = HttpRequest.newBuilder(URI.create(h2Head)).HEAD().build();
300+
HttpClient client = HttpClient.newBuilder().executor(Executors.newCachedThreadPool()).sslContext(sslContext).build();
301+
try {
302+
var request = HttpRequest.newBuilder(URI.create(h2Head)).method("HEAD", BodyPublishers.noBody()).build();
301303
var resp = client.send(request, BodyHandlers.discarding());
302304
assertEquals(resp.statusCode(), 200);
305+
} finally {
306+
ExecutorService exec = (ExecutorService)client.executor().get();
307+
exec.shutdownNow();
303308
}
304309
}
305310

0 commit comments

Comments
 (0)