]> granicus.if.org Git - icinga2/commitdiff
Fix another couple of compiler warnings.
authorGunnar Beutner <gunnar@beutner.name>
Sun, 11 May 2014 06:27:42 +0000 (08:27 +0200)
committerGunnar Beutner <gunnar@beutner.name>
Sun, 11 May 2014 06:36:51 +0000 (08:36 +0200)
Refs #5823

lib/base/scriptutils.cpp
lib/base/threadpool.cpp
lib/base/threadpool.h
lib/icinga/legacytimeperiod.cpp

index 50659bdc3e23cd2b27f773aecc1566335cd87b6f..0f7b97449f088e34e9011a5c4213f3a5964a9195 100644 (file)
@@ -151,6 +151,8 @@ Array::Ptr ScriptUtils::Range(const std::vector<Value>& arguments)
                        end = arguments[1];
                        increment = arguments[2];
                        break;
+               default:
+                       BOOST_THROW_EXCEPTION(std::invalid_argument("Invalid number of arguments for range()"));
        }
 
        Array::Ptr result = make_shared<Array>();
index ea8b4304cf891e3e7c892bb3807d76bf4c7364f3..ba2e5dc9e40444ffde72954a2aa29f77f44dbac9 100644 (file)
@@ -33,10 +33,10 @@ using namespace icinga;
 
 int ThreadPool::m_NextID = 1;
 
-ThreadPool::ThreadPool(int max_threads)
+ThreadPool::ThreadPool(size_t max_threads)
        : m_ID(m_NextID++), m_MaxThreads(max_threads), m_Stopped(false)
 {
-       if (m_MaxThreads != -1 && m_MaxThreads < sizeof(m_Queues) / sizeof(m_Queues[0]))
+       if (m_MaxThreads != UINT_MAX && m_MaxThreads < sizeof(m_Queues) / sizeof(m_Queues[0]))
                m_MaxThreads = sizeof(m_Queues) / sizeof(m_Queues[0]);
 
        Start();
@@ -242,7 +242,7 @@ void ThreadPool::ManagerThreadProc(void)
                                break;
                }
 
-               for (int i = 0; i < sizeof(m_Queues) / sizeof(m_Queues[0]); i++) {
+               for (size_t i = 0; i < sizeof(m_Queues) / sizeof(m_Queues[0]); i++) {
                        size_t pending, alive = 0;
                        double avg_latency;
                        double utilization = 0;
@@ -287,7 +287,7 @@ void ThreadPool::ManagerThreadProc(void)
                                if (tthreads > 0 && pending > 0)
                                        tthreads = 8;
 
-                               if (m_MaxThreads != -1 && (alive + tthreads) * (sizeof(m_Queues) / sizeof(m_Queues[0])) > m_MaxThreads)
+                               if (m_MaxThreads != UINT_MAX && (alive + tthreads) * (sizeof(m_Queues) / sizeof(m_Queues[0])) > m_MaxThreads)
                                        tthreads = m_MaxThreads / (sizeof(m_Queues) / sizeof(m_Queues[0])) - alive;
 
                                if (tthreads != 0) {
@@ -383,7 +383,7 @@ void ThreadPool::WorkerThread::UpdateUtilization(ThreadState state)
                        utilization = 1;
                        break;
                default:
-                       ASSERT(0);
+                       VERIFY(0);
        }
 
        double now = Utility::GetTime();
index 7460a5d21f9676a5dfc6d47279ebbdb4493cde23..3949e70b29597fd2bdc8958d654cc7b77b67b5da 100644 (file)
@@ -40,7 +40,7 @@ class I2_BASE_API ThreadPool
 public:
        typedef boost::function<void ()> WorkFunction;
 
-       ThreadPool(int max_threads = -1);
+       ThreadPool(size_t max_threads = UINT_MAX);
        ~ThreadPool(void);
 
        void Start(void);
@@ -110,7 +110,7 @@ private:
        int m_ID;
        static int m_NextID;
 
-       unsigned int m_MaxThreads;
+       size_t m_MaxThreads;
 
        boost::thread_group m_ThreadGroup;
 
index 84a4cbfe536928e4fe26e8b1c760fcf542ae43d7..e9256da47eba9d5dd90196edbd6b0e99df36fdad 100644 (file)
@@ -402,7 +402,6 @@ Dictionary::Ptr LegacyTimePeriod::FindNextSegment(const String& daydef, const St
                iter = begin;
 
                tsend = mktime(&end);
-               tsiter = mktime(&iter);
 
                do {
                        if (IsInTimeRange(&begin, &end, stride, &iter)) {