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 2008/05/09 17:13:15 UTC
svn commit: r654848 - in /logging/log4cxx/trunk/src: changes/changes.xml
main/cpp/socketappenderskeleton.cpp
Author: carnold
Date: Fri May 9 08:13:15 2008
New Revision: 654848
URL: http://svn.apache.org/viewvc?rev=654848&view=rev
Log:
LOGCXX-278: Threads for reconnecting sockets do not end cleanly when program exits
Modified:
logging/log4cxx/trunk/src/changes/changes.xml
logging/log4cxx/trunk/src/main/cpp/socketappenderskeleton.cpp
Modified: logging/log4cxx/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/changes/changes.xml?rev=654848&r1=654847&r2=654848&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/changes/changes.xml (original)
+++ logging/log4cxx/trunk/src/changes/changes.xml Fri May 9 08:13:15 2008
@@ -32,6 +32,7 @@
<action issue="LOGCXX-272">Apache log4cxx 0.10.1 release</action>
<action issue="LOGCXX-275">Headers cannot be included with very strict warning settings</action>
<action issue="LOGCXX-277">Reconnection not working for sockets</action>
+<action issue="LOGCXX-278">Threads for reconnecting sockets do not end cleanly when program exits</action>
<action issue="LOGCXX-280">tests and sample code unnecessarily compiled during default make target</action>
<action issue="LOGCXX-281">Sun Studio 11 reports function hides base virtual function warning</action>
</release>
Modified: logging/log4cxx/trunk/src/main/cpp/socketappenderskeleton.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/socketappenderskeleton.cpp?rev=654848&r1=654847&r2=654848&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/socketappenderskeleton.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/socketappenderskeleton.cpp Fri May 9 08:13:15 2008
@@ -79,6 +79,7 @@
closed = true;
cleanUp(pool);
thread.interrupt();
+ thread.join();
}
void SocketAppenderSkeleton::connect(Pool& p) {
@@ -144,12 +145,14 @@
try
{
Thread::sleep(socketAppender->reconnectionDelay);
- LogLog::debug(LogString(LOG4CXX_STR("Attempting connection to "))
+ if(!socketAppender->closed) {
+ LogLog::debug(LogString(LOG4CXX_STR("Attempting connection to "))
+ socketAppender->address->getHostName());
- socket = new Socket(socketAppender->address, socketAppender->port);
- Pool p;
- socketAppender->setSocket(socket, p);
- LogLog::debug(LOG4CXX_STR("Connection established. Exiting connector thread."));
+ socket = new Socket(socketAppender->address, socketAppender->port);
+ Pool p;
+ socketAppender->setSocket(socket, p);
+ LogLog::debug(LOG4CXX_STR("Connection established. Exiting connector thread."));
+ }
return NULL;
}
catch(ConnectException&)