This is an automated email from the ASF dual-hosted git repository.

swebb2066 pushed a commit to branch next_stable
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git


The following commit(s) were added to refs/heads/next_stable by this push:
     new d334b383 Fix sonic cloud bugs (#123)
d334b383 is described below

commit d334b3835f2822defeca312fc81d4342dda5c927
Author: Stephen Webb <[email protected]>
AuthorDate: Sat Sep 10 14:18:13 2022 +1000

    Fix sonic cloud bugs (#123)
    
    * Stop catching InterruptedException which is no longer thrown. Use 
std::lock_guard when requiring a simple scope guard
    
    * Prevent Sonic Cloud reporting a possible bug
---
 src/main/cpp/asyncappender.cpp          | 30 ++++++------------------------
 src/main/cpp/socketappenderskeleton.cpp |  5 -----
 src/main/cpp/syslogappender.cpp         |  2 +-
 3 files changed, 7 insertions(+), 30 deletions(-)

diff --git a/src/main/cpp/asyncappender.cpp b/src/main/cpp/asyncappender.cpp
index 2a0cf68a..15d94739 100644
--- a/src/main/cpp/asyncappender.cpp
+++ b/src/main/cpp/asyncappender.cpp
@@ -15,9 +15,6 @@
  * limitations under the License.
  */
 
-#if defined(_MSC_VER)
-       #pragma warning ( disable: 4231 4251 4275 4786 )
-#endif
 
 #include <log4cxx/asyncappender.h>
 
@@ -256,22 +253,11 @@ void AsyncAppender::append(const spi::LoggingEventPtr& 
event, Pool& p)
                        bool discard = true;
 
                        if (priv->blocking
-                               //&& !Thread::interrupted()
+                               && !priv->closed
                                && (priv->dispatcher.get_id() != 
std::this_thread::get_id()) )
                        {
-                               try
-                               {
-                                       priv->bufferNotFull.wait(lock);
-                                       discard = false;
-                               }
-                               catch (InterruptedException&)
-                               {
-                                       //
-                                       //  reset interrupt status so
-                                       //    calling code can see interrupt on
-                                       //    their next wait or sleep.
-                                       //Thread::currentThreadInterrupt();
-                               }
+                               priv->bufferNotFull.wait(lock);
+                               discard = false;
                        }
 
                        //
@@ -303,7 +289,7 @@ void AsyncAppender::append(const spi::LoggingEventPtr& 
event, Pool& p)
 void AsyncAppender::close()
 {
        {
-               std::unique_lock<std::mutex> lock(priv->bufferMutex);
+               std::lock_guard<std::mutex> lock(priv->bufferMutex);
                priv->closed = true;
                priv->bufferNotEmpty.notify_all();
                priv->bufferNotFull.notify_all();
@@ -379,7 +365,7 @@ void AsyncAppender::setBufferSize(int size)
                throw IllegalArgumentException(LOG4CXX_STR("size argument must 
be non-negative"));
        }
 
-       std::unique_lock<std::mutex> lock(priv->bufferMutex);
+       std::lock_guard<std::mutex> lock(priv->bufferMutex);
        priv->bufferSize = (size < 1) ? 1 : size;
        priv->bufferNotFull.notify_all();
 }
@@ -391,7 +377,7 @@ int AsyncAppender::getBufferSize() const
 
 void AsyncAppender::setBlocking(bool value)
 {
-       std::unique_lock<std::mutex> lock(priv->bufferMutex);
+       std::lock_guard<std::mutex> lock(priv->bufferMutex);
        priv->blocking = value;
        priv->bufferNotFull.notify_all();
 }
@@ -508,10 +494,6 @@ void AsyncAppender::dispatch()
                        }
                }
        }
-       catch (InterruptedException&)
-       {
-               //Thread::currentThreadInterrupt();
-       }
        catch (...)
        {
        }
diff --git a/src/main/cpp/socketappenderskeleton.cpp 
b/src/main/cpp/socketappenderskeleton.cpp
index 544d033d..67e607c3 100644
--- a/src/main/cpp/socketappenderskeleton.cpp
+++ b/src/main/cpp/socketappenderskeleton.cpp
@@ -179,11 +179,6 @@ void SocketAppenderSkeleton::monitor()
                                return;
                        }
                }
-               catch (InterruptedException&)
-               {
-                       LogLog::debug(LOG4CXX_STR("Connector interrupted.  
Leaving loop."));
-                       return;
-               }
                catch (ConnectException&)
                {
                        LogLog::debug(LOG4CXX_STR("Remote host ")
diff --git a/src/main/cpp/syslogappender.cpp b/src/main/cpp/syslogappender.cpp
index 9e8f398a..1de82236 100644
--- a/src/main/cpp/syslogappender.cpp
+++ b/src/main/cpp/syslogappender.cpp
@@ -316,7 +316,7 @@ void SyslogAppender::append(const spi::LoggingEventPtr& 
event, Pool& p)
                        it++, current++ )
                {
                        char buf[12];
-                       apr_snprintf( buf, sizeof(buf), "(%d/%d)", current, 
packets.size() );
+                       apr_snprintf( buf, sizeof(buf), "(%d/%d)", current, 
(int)packets.size() );
                        LOG4CXX_DECODE_CHAR(str, buf);
                        it->append( str );
                }

Reply via email to