aboutsummaryrefslogtreecommitdiff
path: root/libjava/win32-threads.cc
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@albatross.co.nz>2000-12-30 12:18:39 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2000-12-30 12:18:39 +0000
commite301621d196adef738c6cb5f5f4ee8a17a4ab0c0 (patch)
tree45acacc07816160e269cf47dd6cdeccef9036f29 /libjava/win32-threads.cc
parent4c2f5b4fd3e2b691c7a14a5860dae341d33455b3 (diff)
downloadgcc-e301621d196adef738c6cb5f5f4ee8a17a4ab0c0.zip
gcc-e301621d196adef738c6cb5f5f4ee8a17a4ab0c0.tar.gz
gcc-e301621d196adef738c6cb5f5f4ee8a17a4ab0c0.tar.bz2
For boehm-gc:
* configure.in: Rename THREADLIB to THREADLIBS. * Makefile.am (LINK): Add $(THREADLIBS) to libtool command line. This ensures that we link the correct version of the linuxthreads semaphore functions. * Makefile.in: Rebuilt. * configure: Rebuilt. * linux_thread.c (GC_thr_init, GC_suspend_handler): Add SIGABRT to the list of signals which are not blocked during suspend in the NO_SIGNALS case. For libjava: * Makefile.am (libgcj_la_LIBADD): Add $(THREADLIBS). This ensures that the correct versions of various linuxthreads functions get linked. * Makefile.in: Rebuilt. * java/lang/natThread.cc (finalize_native): New static function. Call _Jv_ThreadDestroyData. (initialize_native): Register finalizer for "data". * include/posix-threads.h (_Jv_ThreadInitData): New simpler prototype. (_Jv_ThreadDestroyData): New prototype. * include/win32-threads.h: Ditto. * include/no-threads.h: Ditto. * posix-threads.cc (_Jv_ThreadInitData): Implement new prototype. (_Jv_ThreadDestroyData): New function. Free native thread "data" and move mutex and condition variable destroy code from: (really_start): ...here. (_Jv_ThreadStart): Set PTHREAD_CREATE_DETACHED. * win32-threads.cc (_Jv_ThreadInitData): Implement new prototype. (_Jv_ThreadDestroyData): Implemented. * nogc.cc (_Jv_AllocObject): Use "void *" not "ptr_t". (_Jv_AllocArray): Ditto. From-SVN: r38557
Diffstat (limited to 'libjava/win32-threads.cc')
-rw-r--r--libjava/win32-threads.cc17
1 files changed, 10 insertions, 7 deletions
diff --git a/libjava/win32-threads.cc b/libjava/win32-threads.cc
index 8da274f..29b6a72 100644
--- a/libjava/win32-threads.cc
+++ b/libjava/win32-threads.cc
@@ -123,16 +123,19 @@ _Jv_InitThreads (void)
non_daemon_count = 0;
}
-void
-_Jv_ThreadInitData (_Jv_Thread_t **data, java::lang::Thread *)
+_Jv_Thread_t *
+_Jv_ThreadInitData (java::lang::Thread *)
{
- _Jv_Thread_t *info = new _Jv_Thread_t;
- info->flags = 0;
+ _Jv_Thread_t *data = new _Jv_Thread_t;
+ data->flags = 0;
- // FIXME register a finalizer for INFO here.
- // FIXME also must mark INFO somehow.
+ return data;
+}
- *data = info;
+void
+_Jv_ThreadDestroyData (_Jv_Thread_t *data)
+{
+ delete data;
}
void