You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ge...@apache.org on 2006/10/24 14:53:33 UTC

svn commit: r467322 - in /incubator/harmony/enhanced/drlvm/trunk/vm: thread/src/thread_native_interrupt.c thread/src/thread_native_suspend.c vmcore/include/version_svn_tag.h

Author: geirm
Date: Tue Oct 24 05:53:32 2006
New Revision: 467322

URL: http://svn.apache.org/viewvc?view=rev&rev=467322
Log:
HARMONY-1592

I'm a little leery here, because our thread testing is so rickety.
Once you modify Test2 so it actually comples, it works.  Now, it 
does print things out differently than the RI - some timing issue.

I added one output line in the run() method to tell who was finishing.

RI says : 

Will start two threads which will wait on the same monitor
Both threads are waiting now, will interrupt second one
toWait = false is done
Thread was interrupted, will notify waiting and exit
toWait = true is done

And DRLVM says : 

Will start two threads which will wait on the same monitor
Both threads are waiting now, will interrupt second one
toWait = true is done
toWait = false is done
Thread was interrupted, will notify waiting and exit

Someone should probably look at this at some point.  I'll file a JIRA.

Anyway, smoke, c-unit and ~kernel passes.  Test2 testcases passes

Ubuntu 6



Modified:
    incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_interrupt.c
    incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_suspend.c
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_interrupt.c
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_interrupt.c?view=diff&rev=467322&r1=467321&r2=467322
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_interrupt.c (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_interrupt.c Tue Oct 24 05:53:32 2006
@@ -44,7 +44,7 @@
     
     // If thread was doing any kind of wait, notify it.
     if (thread->current_condition) {
-            status=hycond_notify(thread->current_condition);   
+            status=hycond_notify_all(thread->current_condition);   
                         assert (status == TM_ERROR_NONE);
     }
 }

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_suspend.c
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_suspend.c?view=diff&rev=467322&r1=467321&r2=467322
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_suspend.c (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/thread/src/thread_native_suspend.c Tue Oct 24 05:53:32 2006
@@ -358,7 +358,7 @@
     }
     
     if (thread->current_condition) {
-        status=hycond_notify(thread->current_condition);   
+        status=hycond_notify_all(thread->current_condition);   
         assert (status == TM_ERROR_NONE);
     }
 

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h?view=diff&rev=467322&r1=467321&r2=467322
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h Tue Oct 24 05:53:32 2006
@@ -18,6 +18,6 @@
 #ifndef _VERSION_SVN_TAG_
 #define _VERSION_SVN_TAG_
 
-#define VERSION_SVN_TAG  "466303"
+#define VERSION_SVN_TAG  "467316"
 
 #endif // _VERSION_SVN_TAG_