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);