RFR: 7178922 : (props) re-visit how os.name is determined on Mac

Naoto Sato naoto.sato at oracle.com
Wed Nov 14 18:08:33 UTC 2012


As to the default locale detection, we need to call JavaRuntimeSupport. 
MacOSX's POSIX calls do not return user's preferred language/format 
settings.

Naoto

On 11/14/12 1:59 AM, Alan Bateman wrote:
> On 13/11/2012 22:50, Brent Christian wrote:
>> At present, the JDK port for OS X gets its value for os.name from a
>> JRS function exported by the Apple Java Runtime Support framework.
>>
>> Historically this has either been "Mac OS X", or "Mac OS X Server",
>> but there have been reports that this could change at any time, e.g.
>> to just "OS X". This would break any app that relies on this property
>> to detect the Mac platform using something like:
>>
>> System.getProperty("os.name").startsWith("Mac").
>>
>> To ensure compatibility going forward, the os.name System property on
>> Mac should be hard-coded to the value that is expected, "Mac OS X".
>> (FWIW, as of 10.7 Mac OS X Server is no longer a separate edition of
>> the OS).
>>
>> Webrev is here:
>> http://cr.openjdk.java.net/~bchristi/7178922/webrev.0/
>>
>> Note: the setUnknownOSAndVersion() function is unused following my
>> change, so I went ahead and removed it.
>>
>> Thanks,
>> -Brent
> This might be a question for the MacOSX folks but is it safe to continue
> to depend on JavaRuntimeSupport period? I'm just wondering if we really
> need to use it to determine the OS version and locale?
>
> -Alan.




More information about the core-libs-dev mailing list