You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-dev@logging.apache.org by ca...@apache.org on 2007/10/02 08:11:18 UTC
svn commit: r581145 - in /logging/log4cxx/trunk/src/main:
cpp/asyncappender.cpp cpp/thread.cpp include/log4cxx/helpers/thread.h
Author: carnold
Date: Mon Oct 1 23:11:17 2007
New Revision: 581145
URL: http://svn.apache.org/viewvc?rev=581145&view=rev
Log:
LOGCXX-129: Add operator delete to avoid warning, move apr_thread_exit to thread.cpp
Modified:
logging/log4cxx/trunk/src/main/cpp/asyncappender.cpp
logging/log4cxx/trunk/src/main/cpp/thread.cpp
logging/log4cxx/trunk/src/main/include/log4cxx/helpers/thread.h
Modified: logging/log4cxx/trunk/src/main/cpp/asyncappender.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/asyncappender.cpp?rev=581145&r1=581144&r2=581145&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/asyncappender.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/asyncappender.cpp Mon Oct 1 23:11:17 2007
@@ -338,7 +338,6 @@
Thread::currentThreadInterrupt();
} catch(...) {
}
- apr_thread_exit((apr_thread_t*) thread, 0);
return 0;
}
Modified: logging/log4cxx/trunk/src/main/cpp/thread.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/thread.cpp?rev=581145&r1=581144&r2=581145&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/thread.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/thread.cpp Mon Oct 1 23:11:17 2007
@@ -54,6 +54,9 @@
return p.palloc(sz);
}
+void Thread::LaunchPackage::operator delete(void* mem, Pool& p) {
+}
+
void Thread::run(Runnable start, void* data) {
//
// if attempting a second run method on the same Thread object
@@ -92,7 +95,9 @@
ThreadLocal& tls = getThreadLocal();
tls.set(package->getThread());
LaunchStatus alive(&package->getThread()->alive);
- return (package->getRunnable())(thread, package->getData());
+ void* retval = (package->getRunnable())(thread, package->getData());
+ apr_thread_exit((apr_thread_t*) thread, 0);
+ return retval;
}
void Thread::stop() {
Modified: logging/log4cxx/trunk/src/main/include/log4cxx/helpers/thread.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/helpers/thread.h?rev=581145&r1=581144&r2=581145&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/helpers/thread.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/helpers/thread.h Mon Oct 1 23:11:17 2007
@@ -112,6 +112,10 @@
*/
static void* operator new(size_t, Pool& p);
/**
+ * operator delete would be called if exception during construction.
+ */
+ static void operator delete(void*, Pool& p);
+ /**
* Create new instance.
*/
LaunchPackage(Thread* thread, Runnable runnable, void* data);