classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GtkFileDialog Peer Patch


From: Mark Wielaard
Subject: Re: GtkFileDialog Peer Patch
Date: Sat, 15 Jan 2005 18:22:34 +0100

Hi,

On Sat, 2005-01-15 at 17:31 +0100, Martin Platter wrote:
> Mark Wielaard wrote:
> >Does this mean CACAO now does AWT?
> >
> AWT support is not complete yet (specially in the released version). 
> Mainly there are still some threading issues to solve.  But with 
> portable-native-sync disabled, cacao(cvs) and AWT (gnu classpath 0.12) 
> it works quite well.
> With portable-native-sync enabled cacao/AWT doesn't work at all.

Note that there can be two issues that you can run into.

One is that normally gtk+ depends on the native platform threads (usally
pthreads) for locking operations. When given the
--enable-portable-native-sync option you can compile version of the
naitve peers that use standard runtime Monitors for all locking
operations. This was written by one of the JikesRVM hackers, Steven
Augert, to support the n-m thread model of JikesRVM. The
portable-native-sync code is not very much tested, except together with
JikesRVM, even though it should theoretically work with any runtime JNI
implementation.

Two is that currently the gtk+ peer code can sometimes use the wrong
JNIEnv. We store a global JNIEnv* when the event queue is started and
reuse that JNIEnv* almost everywhere. This is clearly wrong. We can only
reuse it in the same Thread. Otherwise we have to get a new JNIEnv
through the JavaVM (which we do actually store, but don't use yet except
in the portable-native-sync code).

Cheers,

Mark

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]