Review request: JDK-6519127 Vista: user.home property not set correctly
Anthony Petrov
anthony.petrov at oracle.com
Tue Jan 22 16:26:23 UTC 2013
Thanks for the clarification. If Alan is OK with that, then I'm fine
with the current fix as well.
--
best regards,
Anthony
On 1/22/2013 19:59, Alexey Utkin wrote:
> Hi Anthony,
>
> The MS back porting process is not trivial.
> [SHGetKnownFolderPath] could be introduced is service pack for earlier OS.
> In my opinion that is better to use the function based on fact of
> present (here the question is more about
> Shell32.dll version, not OS version but they are in relation).
>
> Alan, that do you think about it?
>
> Regards,
> -uta
>
>
> On 22.01.2013 19:45, Anthony Petrov wrote:
>> Hi Alexey,
>>
>> The fix looks good from code logic perspective.
>>
>> I'm only concerned with whether we should use the __try/__except
>> magic, or would it rather make sense to define:
>>
>> #define IS_WINVISTA (LOBYTE(LOWORD(::GetVersion())) >= 6)
>>
>> and guard the call to SHGetKnownFolderPath() with this check? This
>> seems to be lighter than using the exception handling machinery from
>> performance perspective, and IMO it would make the code cleaner/easier
>> to read.
>>
>> --
>> best regards,
>> Anthony
>>
>> On 1/22/2013 19:30, Alexey Utkin wrote:
>>> On 22.01.2013 16:52, Alan Bateman wrote:
>>>> On 22/01/2013 12:28, Alexey Utkin wrote:
>>>>> To be clear, there are three options for a shell call:
>>>>> 1. Force folder creation if not exists (KF_FLAG_CREATE)
>>>>> 2. Return existent folder if any (0)
>>>>> 3. Return folder name without verification (KF_FLAG_DONT_VERIFY)
>>>>>
>>>>> Current implementation is close to the last option (without
>>>>> verification).
>>>>> That is our choice for the fix? (My choice was #1)
>>>>>
>>>>> Regards,
>>>>> -uta
>>>> The JDK doesn't strictly require the user's home directory to exist
>>>> and it's possible in some environments for the home directory to
>>>> become inaccessible during the lifetime of the VM. The main thing (I
>>>> think) is that exceptions and messages are clear if there is an
>>>> error accessing something in the home directory.
>>>>
>>>> So I think #3 is the right answer. As you point out, this is
>>>> essentially long standing behavior. My concern with #2 is that it
>>>> might hurt startup significantly when the home directory is remote.
>>>> My concern with #1 is that I don't think the JDK should be the one
>>>> to create the home directory (although in practice it would be very
>>>> rare).
>>> Sounds reasonable.
>>> Let's follow that way. The #3 option is chosen.
>>> Suggested fix:
>>> http://cr.openjdk.java.net/~uta/openjdk-webrevs/JDK-6519127/webrev.03/
>>>
>>> Regards,
>>> -uta
>>
>>
>
More information about the core-libs-dev
mailing list