8290313: Produce warning when user specified java.io.tmpdir directory doesn't exist

Reviewed-by: rriggs, naoto, coffeys
This commit is contained in:
Weibing Xiao 2022-11-23 17:10:05 +00:00 committed by Sean Coffey
parent 086763a629
commit 8df3bc4ec5
4 changed files with 140 additions and 4 deletions

View file

@ -35,7 +35,7 @@ import java.nio.file.Path;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.List;
import sun.security.action.GetPropertyAction;
import jdk.internal.util.StaticProperty;
/**
* An abstract representation of file and directory pathnames.
@ -1986,8 +1986,8 @@ public class File
private TempDirectory() { }
// temporary directory location
private static final File tmpdir = new File(
GetPropertyAction.privilegedGetProperty("java.io.tmpdir"));
private static final File tmpdir = new File(StaticProperty.javaIoTmpDir());
static File location() {
return tmpdir;
}

View file

@ -2244,6 +2244,12 @@ public final class System {
// SecurityManager
Unsafe.getUnsafe().ensureClassInitialized(StringConcatFactory.class);
// Emit a warning if java.io.tmpdir is set via the command line
// to a directory that doesn't exist
if (SystemProps.isBadIoTmpdir()) {
System.err.println("WARNING: java.io.tmpdir directory does not exist");
}
String smProp = System.getProperty("java.security.manager");
boolean needWarning = false;
if (smProp != null) {