Usage of _Jv_AttachCurrentThread, _Jv_AttachCurrentThreadAsDaemon, _Jv_DetachCurrentThread.
Dave Korn
dave.korn.cygwin@gmail.com
Wed Apr 10 23:18:00 GMT 2013
On 10/04/2013 10:34, Bryce McKinlay wrote:
> On Tue, Apr 9, 2013 at 7:20 PM, Dave Korn <dave.korn.cygwin@gmail.com> wrote:
>
>> I could fix this by either adding a !defined(GC_WIN32_THREADS) in the same
>> way as Solaris disables these functions, or I could add an implementation of
>> the functions in boehm-gc for Cygwin, which is posixy and pthread-based.
>
> As Andrew said, these are used by the JNI (& CNI) "invocation API",
> which allows calling into Java code from a non-Java app.
>
> It might be worth checking if newer versions of the GC already have
> improvements here for Cygwin. libgcj's copy of boehm-gc is very old
> and we really ought to update it!
Yes indeed! It turns out that upstream has implemented them since 7.0alpha2
(now at 7.3alpha4).
Upstream now includes a new support library, libatomic_ops, that is licensed
under a combination of GPLv2 and a custom "MIT-style" licence. Is that likely
to be any problem?
>> Also on the same topic, would there be any value added by providing Cygwin
>> implementations of GC_suspend_thread, GC_resume_thread and
>> GC_is_thread_suspended, which are called from _Jv_SuspendThread,
>> _JV_ResumeThread, _JV_IsThreadSuspended in boehm.cc and currently #if'd out by
>> a test on GC_WIN32_THREADS?
>
> Well, I don't think anything in libgcj really uses these. They might
> be useful as part of a debugging interface.
Good to know, thanks to both of you for the information.
cheers,
DaveK
More information about the Java
mailing list