Currently, to the best of my knowledge, classpath's gtk peer code isn't
working with any JVM with M-to-N threading. The problem with
gdk_threads_enter is that it will block if it can't enter the threaded
code. If, for example, you are mapping the gtk threads to 1 native
thread then all the threads will quickly block waiting to enter
gdk_threads_enter. The solution to this is for the gtk peer code not to
block or to fix the portable native sync code - both require changes to
classpath and there are reasons not to use portable native syncing.
Whilst switching to the classpath 1-to-1 thread mapping is a desirable
change to the JVM it requires a substantial amout of work with no
developer currently working on it. A compromise could be to supply/apply
a patch when building classpath with this JVM, but I thought the issues
raised were of a more generic nature - they'd effect other JVMs that
implemented M-to-N threading.
Thanks,
Ian Rogers
Andrew Haley wrote:
Ian Rogers writes:
> Thanks for the replies. I have worked further on this and the particular
> issue isn't with GC barriers but with M-to-N threading.
It's possible that I'm completely missing the point here, but cannot
we simply conclude from this that M-to-N threading in this JVM is
broken?
Andrew.