diff options
author | Thomas Fitzsimmons <fitzsim@gcc.gnu.org> | 2005-05-03 23:53:27 +0000 |
---|---|---|
committer | Thomas Fitzsimmons <fitzsim@gcc.gnu.org> | 2005-05-03 23:53:27 +0000 |
commit | 9247d229f65bc56a6fc285e0341eff74a830af76 (patch) | |
tree | a10fd01b9f72f7f247874cf6a02f8ec3e7752463 /libjava/jni | |
parent | f525d7a75ffa9e02d094828e91b2c8af49272e61 (diff) | |
download | gcc-9247d229f65bc56a6fc285e0341eff74a830af76.zip gcc-9247d229f65bc56a6fc285e0341eff74a830af76.tar.gz gcc-9247d229f65bc56a6fc285e0341eff74a830af76.tar.bz2 |
2005-05-03 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
(init_glib_threads): Check if threading system is already
initialized.
From-SVN: r99196
Diffstat (limited to 'libjava/jni')
-rw-r--r-- | libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c index 8cb9e2f..bb31233 100644 --- a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c +++ b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c @@ -275,10 +275,22 @@ init_glib_threads(JNIEnv *env, jint portableNativeSync) } (*env)->GetJavaVM( env, &the_vm ); - if (portableNativeSync) - g_thread_init ( &portable_native_sync_jni_functions ); + if (!g_thread_supported ()) + { + if (portableNativeSync) + g_thread_init ( &portable_native_sync_jni_functions ); + else + g_thread_init ( NULL ); + } else - g_thread_init ( NULL ); + { + /* Warn if portable native sync is desired but the threading + system is already initialized. In that case we can't + override the threading implementation with our portable + native sync functions. */ + if (portableNativeSync) + g_printerr ("peer warning: portable native sync disabled.\n"); + } /* Debugging progress message; uncomment if needed: */ /* printf("called gthread init\n"); */ |