<AWT Dev> RFR: 8027912: [macosx] Provide means to force the headful mode on OS X when running via ssh
Anthony Petrov
anthony.petrov at oracle.com
Thu Nov 7 12:42:23 PST 2013
It's funny how TRUETRUE does the trick :)
Anyway, the fix looks fine to me. Thanks for resolving this issue.
Sergey, and/or Artem, could you please review it, too? We need this fix
in JDK 8.
PS. I'll push this fix if David doesn't have commit rights to the awt-gate.
--
best regards,
Anthony
On 11/08/2013 12:20 AM, David DeHaven wrote:
>
> Quick fix to reenable some automated testing that was broken by my recent fix to disable the X11 toolkit.
>
>
> diff --git a/src/solaris/native/java/lang/java_props_macosx.c b/src/solaris/native/java/lang/java_props_macosx.c
> --- a/src/solaris/native/java/lang/java_props_macosx.c
> +++ b/src/solaris/native/java/lang/java_props_macosx.c
> @@ -106,6 +106,12 @@
> }
>
> int isInAquaSession() {
> + // environment variable to bypass the aqua session check
> + char *ev = getenv("AWT_FORCE_HEADFUL");
> + if (ev && (strncasecmp(ev, "true", 4) == 0)) {
> + // if "true" then tell the caller we're in an Aqua session without actually checking
> + return 1;
> + }
> // Is the WindowServer available?
> SecuritySessionId session_id;
> SessionAttributeBits session_info;
>
>
>
>
> Quick sanity check over a SSH session (where isInAquaSession was returning false):
>
> jdk8-deploy daved$ AWT_FORCE_HEADFUL=false ./build/macosx-x86_64-normal-server-release/jdk/bin/java -jar ~/Desktop/SwingSet2.jar
> 2013-11-07 12:13:21.647 java[5088:707] [JRSAppKitAWT markAppIsDaemon]: Process manager already initialized: can't fully enable headless mode.
> Exception in thread "main" java.awt.HeadlessException
> at sun.java2d.HeadlessGraphicsEnvironment.getDefaultScreenDevice(HeadlessGraphicsEnvironment.java:77)
> at SwingSet2.main(SwingSet2.java:224)
>
> jdk8-deploy daved$ AWT_FORCE_HEADFUL=true ./build/macosx-x86_64-normal-server-release/jdk/bin/java -jar ~/Desktop/SwingSet2.jar
>
> jdk8-deploy daved$ AWT_FORCE_HEADFUL=True ./build/macosx-x86_64-normal-server-release/jdk/bin/java -jar ~/Desktop/SwingSet2.jar
>
> jdk8-deploy daved$ AWT_FORCE_HEADFUL=TRUE ./build/macosx-x86_64-normal-server-release/jdk/bin/java -jar ~/Desktop/SwingSet2.jar
>
> jdk8-deploy daved$ AWT_FORCE_HEADFUL=TRUETRUE ./build/macosx-x86_64-normal-server-release/jdk/bin/java -jar ~/Desktop/SwingSet2.jar
>
> jdk8-deploy daved$ AWT_FORCE_HEADFUL=AKASKLJ ./build/macosx-x86_64-normal-server-release/jdk/bin/java -jar ~/Desktop/SwingSet2.jar
> 2013-11-07 12:14:04.606 java[5138:707] [JRSAppKitAWT markAppIsDaemon]: Process manager already initialized: can't fully enable headless mode.
> Exception in thread "main" java.awt.HeadlessException
> at sun.java2d.HeadlessGraphicsEnvironment.getDefaultScreenDevice(HeadlessGraphicsEnvironment.java:77)
> at SwingSet2.main(SwingSet2.java:224)
>
> jdk8-deploy daved$ ./build/macosx-x86_64-normal-server-release/jdk/bin/java -jar ~/Desktop/SwingSet2.jar
> 2013-11-07 12:14:18.351 java[5154:707] [JRSAppKitAWT markAppIsDaemon]: Process manager already initialized: can't fully enable headless mode.
> Exception in thread "main" java.awt.HeadlessException
> at sun.java2d.HeadlessGraphicsEnvironment.getDefaultScreenDevice(HeadlessGraphicsEnvironment.java:77)
> at SwingSet2.main(SwingSet2.java:224)
>
> (SwingSet2 ran normally in the runs that did not produce a HeadlessException)
>
> -DrD-
>
More information about the awt-dev
mailing list