Hello.

For robustness reasons, should it maybe fall back to the hardcoded default if 
the target path does not exist or has the (obvious*) missing write permission?

Gruss
Bernd

* with or without trying a actual write?
--
http://bernd.eckenfels.net
_____________________________
From: Brian Burkhalter <brian.burkhal...@oracle.com>
Sent: Donnerstag, April 26, 2018 5:09 AM
Subject: Re: [PATCH] Prefer TMPDIR over hard coded /tmp
To: Robert Stupp <sn...@snazy.de>
Cc: <core-libs-dev@openjdk.java.net>


Hi Robert,

On Apr 23, 2018, at 7:23 AM, Robert Stupp <sn...@snazy.de> wrote:

> For MacOS and Windows, Java prefers the user's temporary directory for 
> java.io.tmpdir, but not for Linux, where it is always set to /tmp. The burden 
> with this is that if you want to use a different temp directory, you have to 
> explicitly pass -Djava.io.tmpdir=... on the command line, which can be 
> difficult especially for unit tests or microbenchmarks in 3rd party code ran 
> via Maven for example.
>
> java_props_t.tmp_dir is always initialized as P_tmpdir in GetJavaProperties 
> (src/java.base/unix/native/libjava/java_props_md.c).
>
> The attached patch changed the behavior to use the content of the environment 
> variable TMPDIR, if present. Note that this does not change where the hsperf* 
> folders are created.

The source change looks OK to me aside from the copyright year and that in the 
second line here

+ v = getenv("TMPDIR");
+ if (v) {
+ sprops.tmp_dir = strdup(v);
+ }

it should probably have

+ if (v != NULL) {

for consistency with elsewhere in the file.

> I'm not sure why java.io.tmpdir is always /tmp in Linux as according to the 
> SCM history, this was always as it is (references the initial OpenJDK commit).
>
> I haven't found any tests that validates the content of java.io.tmpdir.

Some sort of test would need to be added to this patch to validate the change.

Thanks,

Brian

Reply via email to