[ 
https://issues.apache.org/jira/browse/LOGCXX-337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thorsten Schöning resolved LOGCXX-337.
--------------------------------------

    Resolution: Fixed

I applied the patch to trunk.

> Suggested fix for socketappender not reconnecting multiple times
> ----------------------------------------------------------------
>
>                 Key: LOGCXX-337
>                 URL: https://issues.apache.org/jira/browse/LOGCXX-337
>             Project: Log4cxx
>          Issue Type: Improvement
>          Components: Appender
>    Affects Versions: 0.10.0
>         Environment: Linux
>            Reporter: Ajay Dhawale
>            Assignee: Curt Arnold
>         Attachments: log4cxx-fix-socket-thread-not-starting-many.patch
>
>
> Hi,
> In an application we're building using log4cxx socketappender, we noticed 
> that it re-connects to remote server only once.
> This seems due connector thread's status remaining active with main even 
> after the former exits upon successfully re-connecting the first time. 
> Consequently,   SocketAppenderSkeleton::fireConnector() does not invoke 
> 'thread.run(monitor...);'  when the remote server goes down the second time.
> Modifying this function as below in v 0.10.0 code at 
> http://www.apache.org/dyn/closer.cgi/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.tar.gz
>  works
> void SocketAppenderSkeleton::fireConnector()
> {
>         synchronized sync(mutex);
>         if (thread.isActive()) {
>             thread.join();
>         }
>         thread.run(monitor, this);
>    
> }
> Perhaps the same can be replaced in the latest source (I looked at revision 
> 788304) instead of current (partial fix?) it has "if (!thread.isActive())..."
> Wonder if someone could validate and if sounds fine we could incorporate the 
> same.
> Thanks,
> - Ajay.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to