You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by gs...@apache.org on 2006/11/16 23:06:31 UTC
svn commit: r475944 - in /incubator/harmony/enhanced/drlvm/trunk/vm:
tests/unit/thread/test_native_fat_monitor.c thread/src/thread_init.c
thread/src/thread_native_fat_monitor.c
thread/src/thread_native_thin_monitor.c thread/src/thread_ti_monitors.c
Author: gshimansky
Date: Thu Nov 16 14:06:30 2006
New Revision: 475944
URL: http://svn.apache.org/viewvc?view=rev&rev=475944
Log:
Applied HARMONY-2149 [drlvm][threading] hythread_monitor_init() should not acqure a monitor
Tests passed on winxp, ubuntu, FC5 and SuSE10 x86_64 (with some exceptions on x86_64)
Modified:
incubator/harmony/enhanced/drlvm/trunk/vm/tests/unit/thread/test_native_fat_monitor.c
incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_init.c
incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_fat_monitor.c
incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_thin_monitor.c
incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_ti_monitors.c
Modified: incubator/harmony/enhanced/drlvm/trunk/vm/tests/unit/thread/test_native_fat_monitor.c
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/tests/unit/thread/test_native_fat_monitor.c?view=diff&rev=475944&r1=475943&r2=475944
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/tests/unit/thread/test_native_fat_monitor.c (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/tests/unit/thread/test_native_fat_monitor.c Thu Nov 16 14:06:30 2006
@@ -56,7 +56,6 @@
//log_error("BUG IN APR");
//tf_assert(0);
status = hythread_monitor_init(&monitor, 0);
- status = hythread_monitor_exit(monitor);
tf_assert_same(status, TM_ERROR_NONE);
waiting_count = 0;
Modified: incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_init.c
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_init.c?view=diff&rev=475944&r1=475943&r2=475944
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_init.c (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_init.c Thu Nov 16 14:06:30 2006
@@ -188,10 +188,8 @@
mon = (hythread_monitor_t*)hythread_global(GLOBAL_MONITOR_NAME);
*mon = p_global_monitor;
assert(mon);
- status=hythread_monitor_exit(p_global_monitor);
- assert (status == TM_ERROR_NONE);
-
}
+
/**
* Shut down the threading library associated with the current thread.
*
Modified: incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_fat_monitor.c
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_fat_monitor.c?view=diff&rev=475944&r1=475943&r2=475944
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_fat_monitor.c (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_fat_monitor.c Thu Nov 16 14:06:30 2006
@@ -51,7 +51,6 @@
hythread_monitor_t mon;
apr_pool_t *pool = get_local_pool();
apr_status_t apr_status;
- IDATA status;
mon = apr_pcalloc(pool, sizeof(HyThreadMonitor));
if(mon == NULL) {
@@ -68,9 +67,6 @@
mon->flags = flags;
mon->name = name;
mon->owner = 0;
-
- status=hythread_monitor_enter(mon);
- if (status != TM_ERROR_NONE) return status;
*mon_ptr = mon;
return TM_ERROR_NONE;
Modified: incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_thin_monitor.c
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_thin_monitor.c?view=diff&rev=475944&r1=475943&r2=475944
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_thin_monitor.c (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_thin_monitor.c Thu Nov 16 14:06:30 2006
@@ -574,17 +574,14 @@
assert (!hythread_is_suspend_enabled());
TRACE (("inflation begin for %x thread: %d", lockword, tm_self_tls->thread_id));
- status = hythread_monitor_init(&fat_monitor, 0); // allocate fat fat_monitor
+ status = hythread_monitor_init(&fat_monitor, 0); // allocate fat fat_monitor
assert(status == TM_ERROR_NONE);
+ status = hythread_monitor_enter(fat_monitor);
if(status != TM_ERROR_NONE) {
hymutex_unlock(FAT_MONITOR_TABLE_LOCK);
return NULL;
}
- /* removed due to lock acquisition in monitor creation
- * status = hythread_monitor_enter(fat_monitor); // lock fat fat_monitor
- * assert(status == TM_ERROR_NONE);
- */
for (i = RECURSION(lockword); i > 0; i--) {
TRACE( ("infalte recursion monitor"));
status = hythread_monitor_enter(fat_monitor); // transfer recusrion count to fat fat_monitor
Modified: incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_ti_monitors.c
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_ti_monitors.c?view=diff&rev=475944&r1=475943&r2=475944
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_ti_monitors.c (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_ti_monitors.c Thu Nov 16 14:06:30 2006
@@ -47,9 +47,6 @@
IDATA status;
status = hythread_monitor_init(&monitor, 0);
if (status != TM_ERROR_NONE) return status;
- //hythread monitor init also locks it
- status = hythread_monitor_exit(monitor);
- if (status != TM_ERROR_NONE) return status;
// possibly should be moved to jvmti(environment?) init section
////
if (!jvmti_monitor_table) {