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.cp
p
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&r
2=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.cp
p
URL: http://svn.apache.org/viewvc/
logging/log4cxx/trunk/src/main/cpp/socketappenderskeleton.cp
p?rev=654848&r1=654847&r2=654848&view=diff
============================================================
==================
---
logging/log4cxx/trunk/src/main/cpp/socketappenderskeleton.cp
p (original)
+++
logging/log4cxx/trunk/src/main/cpp/socketappenderskeleton.cp
p 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&)
|