Skip to content

Commit 5863f8f

Browse files
authored
Merge pull request SAP#1933 from SAP/pr-jdk-21.0.7+4
Merge to tag jdk-21.0.7+4
2 parents 4c0587b + 5806906 commit 5863f8f

File tree

153 files changed

+6478
-4378
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+6478
-4378
lines changed

make/common/TestFilesCompilation.gmk

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@ define SetupTestFilesCompilationBody
6464
TEST_LDFLAGS += -Wl,--exclude-libs,ALL
6565
else ifeq ($(TOOLCHAIN_TYPE), clang)
6666
TEST_CFLAGS += -fvisibility=hidden
67-
else ifeq ($(TOOLCHAIN_TYPE), xlc)
68-
TEST_CFLAGS += -qvisibility=hidden
6967
endif
7068

7169
# The list to depend on starts out empty

src/hotspot/share/logging/logOutput.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2015, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -354,7 +354,9 @@ bool LogOutput::parse_options(const char* options, outputStream* errstream) {
354354
}
355355
break;
356356
}
357-
pos = comma_pos + 1;
357+
if (comma_pos != nullptr) {
358+
pos = comma_pos + 1;
359+
}
358360
} while (comma_pos != nullptr);
359361

360362
os::free(opts);

src/java.base/unix/native/libjava/ProcessImpl_md.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,9 @@ spawnChild(JNIEnv *env, jobject process, ChildStuff *c, const char *helperpath)
561561
return -1;
562562
}
563563
offset = copystrings(buf, 0, &c->argv[0]);
564-
offset = copystrings(buf, offset, &c->envv[0]);
564+
if (c->envv != NULL) {
565+
offset = copystrings(buf, offset, &c->envv[0]);
566+
}
565567
if (c->pdir != NULL) {
566568
if (sp.dirlen > 0) {
567569
memcpy(buf+offset, c->pdir, sp.dirlen);

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -575,8 +575,9 @@ public boolean registerSubscriber(HttpBodySubscriberWrapper<?> subscriber) {
575575
if (debug.on()) {
576576
debug.log("body subscriber registered: " + count);
577577
}
578+
return true;
578579
}
579-
return true;
580+
return false;
580581
}
581582
} finally {
582583
selmgr.unlock();

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ private void schedule() {
191191
if (debug.on()) debug.log("subscribing user subscriber");
192192
subscriber.onSubscribe(userSubscription);
193193
}
194-
while (!inputQ.isEmpty()) {
194+
while (!inputQ.isEmpty() && errorRef.get() == null) {
195195
Http2Frame frame = inputQ.peek();
196196
if (frame instanceof ResetFrame rf) {
197197
inputQ.remove();
@@ -425,6 +425,10 @@ private void sendDataFrame(DataFrame frame) {
425425
// pushes entire response body into response subscriber
426426
// blocking when required by local or remote flow control
427427
CompletableFuture<T> receiveData(BodySubscriber<T> bodySubscriber, Executor executor) {
428+
// ensure that the body subscriber will be subscribed and onError() is
429+
// invoked
430+
pendingResponseSubscriber = bodySubscriber;
431+
428432
// We want to allow the subscriber's getBody() method to block so it
429433
// can work with InputStreams. So, we offload execution.
430434
responseBodyCF = ResponseSubscribers.getBodyAsync(executor, bodySubscriber,
@@ -435,9 +439,6 @@ CompletableFuture<T> receiveData(BodySubscriber<T> bodySubscriber, Executor exec
435439
responseBodyCF.completeExceptionally(t);
436440
}
437441

438-
// ensure that the body subscriber will be subscribed and onError() is
439-
// invoked
440-
pendingResponseSubscriber = bodySubscriber;
441442
sched.runOrSchedule(); // in case data waiting already to be processed, or error
442443

443444
return responseBodyCF;

src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2005, 2022, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -3925,6 +3925,8 @@ private int controlCode(KeyStroke keyStroke) {
39253925
return 0;
39263926
int code = keyStroke.getKeyCode();
39273927
switch (code) {
3928+
case KeyEvent.VK_TAB:
3929+
case KeyEvent.VK_SPACE:
39283930
case KeyEvent.VK_BACK_SPACE:
39293931
case KeyEvent.VK_DELETE:
39303932
case KeyEvent.VK_DOWN:
@@ -3967,15 +3969,10 @@ private char getKeyChar(KeyStroke keyStroke) {
39673969
debugString("[INFO]: Shortcut is control character: " + Integer.toHexString(keyCode));
39683970
return (char)keyCode;
39693971
}
3970-
String keyText = KeyEvent.getKeyText(keyStroke.getKeyCode());
3971-
debugString("[INFO]: Shortcut is: " + keyText);
3972-
if (keyText != null || keyText.length() > 0) {
3973-
CharSequence seq = keyText.subSequence(0, 1);
3974-
if (seq != null || seq.length() > 0) {
3975-
return seq.charAt(0);
3976-
}
3977-
}
3978-
return 0;
3972+
3973+
keyCode = keyStroke.getKeyCode();
3974+
debugString("[INFO]: Shortcut is: " + Integer.toHexString(keyCode));
3975+
return (char)keyCode;
39793976
}
39803977

39813978
/*

src/jdk.accessibility/windows/native/include/bridge/AccessBridgePackages.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -1108,6 +1108,8 @@ typedef long ABHWND64;
11081108
#define ACCESSIBLE_CONTROLCODE_KEYSTROKE 512 // Control code key pressed, character contains control code.
11091109

11101110
// The supported control code keys are:
1111+
#define ACCESSIBLE_VK_TAB 9
1112+
#define ACCESSIBLE_VK_SPACE 32
11111113
#define ACCESSIBLE_VK_BACK_SPACE 8
11121114
#define ACCESSIBLE_VK_DELETE 127
11131115
#define ACCESSIBLE_VK_DOWN 40

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -83,7 +83,7 @@ public Type lookupType(String cTypeName) {
8383
public Type lookupType(String cTypeName, boolean throwException) {
8484
Type type = nameToTypeMap.get(cTypeName);
8585
if (type == null && throwException) {
86-
throw new RuntimeException("No type named \"" + cTypeName + "\" in database");
86+
throw new RuntimeException("No type named \"" + cTypeName + "\" present in type database");
8787
}
8888
return type;
8989
}

src/jdk.internal.le/aix/classes/jdk/internal/org/jline/terminal/impl/jna/JDKNativePty.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,16 @@
2727
import java.io.IOException;
2828
import jdk.internal.org.jline.terminal.Attributes;
2929
import jdk.internal.org.jline.terminal.Size;
30+
import jdk.internal.org.jline.terminal.spi.SystemStream;
3031
import jdk.internal.org.jline.terminal.spi.TerminalProvider;
3132

3233
class JDKNativePty {
3334

34-
static JnaNativePty current(TerminalProvider.Stream console) throws IOException {
35+
static JnaNativePty current(TerminalProvider provider, SystemStream systemStream) throws IOException {
3536
throw new UnsupportedOperationException("Not supported.");
3637
}
3738

38-
static JnaNativePty open(Attributes attr, Size size) throws IOException {
39+
static JnaNativePty open(TerminalProvider provider, Attributes attr, Size size) throws IOException {
3940
throw new UnsupportedOperationException("Not supported.");
4041
}
4142

src/jdk.internal.le/linux/classes/jdk/internal/org/jline/terminal/impl/jna/JDKNativePty.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,17 @@
2828
import jdk.internal.org.jline.terminal.Attributes;
2929
import jdk.internal.org.jline.terminal.Size;
3030
import jdk.internal.org.jline.terminal.impl.jna.linux.LinuxNativePty;
31+
import jdk.internal.org.jline.terminal.spi.SystemStream;
3132
import jdk.internal.org.jline.terminal.spi.TerminalProvider;
3233

3334
class JDKNativePty {
3435

35-
static JnaNativePty current(TerminalProvider.Stream console) throws IOException {
36-
return LinuxNativePty.current(console);
36+
static JnaNativePty current(TerminalProvider provider, SystemStream systemStream) throws IOException {
37+
return LinuxNativePty.current(provider, systemStream);
3738
}
3839

39-
static JnaNativePty open(Attributes attr, Size size) throws IOException {
40-
return LinuxNativePty.open(attr, size);
40+
static JnaNativePty open(TerminalProvider provider, Attributes attr, Size size) throws IOException {
41+
return LinuxNativePty.open(provider, attr, size);
4142
}
4243

4344
static int isatty(int fd) {

0 commit comments

Comments
 (0)