Description
There is a possibility of the SocketAppender calling std::unique_lock<log4cxx::shared_mutex> lock(mutex) twice causing a deadlock exception. In socketappenderskeleton.cpp connect call if the exception is caught on line 118 then fireConnector() will be called. On line 160 the mutex is attempted to be locked again but it has already been locked in the appendersleketo.cpp doAppend call. This causes log4cxx to throw a std::err::resource_deadlock_would_occur