Adding a unit test for HHWheelTimer exercising the default timeout functionality.
[folly.git] / folly / MicroSpinLock.h
index cccba15d88b6a8523f115d42537c481d7678cdfc..256ab8660a878133da2e39ef45314f0e6ec0481b 100644 (file)
@@ -102,7 +102,7 @@ struct MicroSpinLock {
 #define FOLLY_CACHE_LINE_SIZE 64
 
 template <class T, size_t N>
-struct SpinLockArray {
+struct FOLLY_ALIGNED_MAX SpinLockArray {
   T& operator[](size_t i) {
     return data_[i].lock;
   }
@@ -123,16 +123,14 @@ struct SpinLockArray {
                 "Invalid size of PaddedSpinLock");
 
   // Check if T can theoretically cross a cache line.
-  // NOTE: It should be alignof(std::max_align_t), but max_align_t
-  // isn't supported by gcc 4.6.2.
-  static_assert(alignof(MaxAlign) > 0 &&
-                FOLLY_CACHE_LINE_SIZE % alignof(MaxAlign) == 0 &&
-                sizeof(T) <= alignof(MaxAlign),
+  static_assert(alignof(std::max_align_t) > 0 &&
+                FOLLY_CACHE_LINE_SIZE % alignof(std::max_align_t) == 0 &&
+                sizeof(T) <= alignof(std::max_align_t),
                 "T can cross cache line boundaries");
 
   char padding_[FOLLY_CACHE_LINE_SIZE];
   std::array<PaddedSpinLock, N> data_;
-} __attribute__((__aligned__));
+};
 
 //////////////////////////////////////////////////////////////////////