On Wed, 21 Aug 2024 09:07:21 GMT, Kevin Walls <kev...@openjdk.org> wrote:
> Hi, > > From the linked doc: "When calling this function from a process running as > SYSTEM it will return the path C:\Windows\SystemTemp, which is inaccessible > to non-SYSTEM processes. For non-SYSTEM processes, GetTempPath2 will behave > the same as GetTempPath." > > If SYSTEM and regular user processes have a different temp path, and we > change temp as it's known to the attach api, they will have a different > hsperfdata_username locations. > > Then does the attach api only find processes that are of the same category > (SYSTEM vs non-SYSTEM)? e.g. "jps" for a user does not show SYSTEM processes? > > SYSTEM is not the "Administrator" user, so it's not going to be a very common > problem, but if a Java process run as a SYSTEM then it could be an issue (is > that possible?). > > And if Java can't be run as a SYSTEM task, then the doc states GetTempPath2 > will behave the same as GetTempPath. Thanks @kevinjwalls for reviewing this PR The behavior has not changed; the old API GetTempPath also returns different temporary paths for SYSTEM and non-SYSTEM accounts, similar to the new API GetTempPath2. For SYSTEM accounts: GetTempPath: C:\WINDOWS\TEMP\ GetTempPath2: C:\WINDOWS\SystemTemp\ For non-SYSTEM accounts: GetTempPath: C:\Users\\<user>\AppData\Local\Temp\ GetTempPath2: C:\Users\\<user>\AppData\Local\Temp\ ------------- PR Comment: https://git.openjdk.org/jdk/pull/20600#issuecomment-2329598028