You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by nm...@apache.org on 2006/12/17 00:49:44 UTC
svn commit: r487918 - in
/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src:
main/activemq/concurrent/Thread.cpp test/activemq/concurrent/MutexTest.h
Author: nmittler
Date: Sat Dec 16 15:49:43 2006
New Revision: 487918
URL: http://svn.apache.org/viewvc?view=rev&rev=487918
Log:
[AMQCPP-27] Updates to thred and MutexTest::test in hopes of removing warning from Valgrind
Modified:
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/concurrent/Thread.cpp
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/concurrent/MutexTest.h
Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/concurrent/Thread.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/concurrent/Thread.cpp?view=diff&rev=487918&r1=487917&r2=487918
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/concurrent/Thread.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/concurrent/Thread.cpp Sat Dec 16 15:49:43 2006
@@ -26,6 +26,7 @@
#endif
#include <activemq/exceptions/ActiveMQException.h>
+#include <activemq/exceptions/RuntimeException.h>
using namespace activemq;
using namespace activemq::concurrent;
@@ -160,9 +161,15 @@
Thread* thread = (Thread*)param;
// Invoke run on the task.
- thread->task->run();
+ try{
+ thread->task->run();
+ } catch( ... ){
+ exceptions::RuntimeException ex(__FILE__, __LINE__, "unhandled exception bubbled up to Thread::run");
+ ex.printStackTrace();
+ }
#ifdef unix
+ ::pthread_exit( NULL );
return NULL;
#else
Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/concurrent/MutexTest.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/concurrent/MutexTest.h?view=diff&rev=487918&r1=487917&r2=487918
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/concurrent/MutexTest.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/concurrent/MutexTest.h Sat Dec 16 15:49:43 2006
@@ -417,15 +417,16 @@
void test()
{
MyThread test;
- test.lock();
+
+ synchronized(&test){
- test.start();
-
- for( int ix=0; ix<100; ix++ ){
- test.value += 1;
+ test.start();
+
+ for( int ix=0; ix<100; ix++ ){
+ test.value += 1;
+ }
}
- test.unlock();
test.join();
CPPUNIT_ASSERT( test.value == 2500 );