folly: ProducerConsumerQueue: avoid many -Wsign-compare errors
[folly.git] / folly / ProducerConsumerQueue.h
index ff1a4fe13b3dbe35903c4adf5dee3ac0a85f10d4..92eb0d4a96f74b02561e5e501044aa1e1981946a 100644 (file)
@@ -61,8 +61,8 @@ struct ProducerConsumerQueue : private boost::noncopyable {
     // (No real synchronization needed at destructor time: only one
     // thread can be doing this.)
     if (!boost::has_trivial_destructor<T>::value) {
-      int read = readIndex_;
-      int end = writeIndex_;
+      size_t read = readIndex_;
+      size_t end = writeIndex_;
       while (read != end) {
         records_[read].~T();
         if (++read == size_) {
@@ -168,8 +168,8 @@ private:
   const uint32_t size_;
   T* const records_;
 
-  std::atomic<int> readIndex_;
-  std::atomic<int> writeIndex_;
+  std::atomic<unsigned int> readIndex_;
+  std::atomic<unsigned int> writeIndex_;
 };
 
 }