Explorar o código

fix idx out of range (#391)

xiaojin %!s(int64=2) %!d(string=hai) anos
pai
achega
c0f8fba5ee
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      evpp/EventLoopThreadPool.h

+ 1 - 1
evpp/EventLoopThreadPool.h

@@ -34,7 +34,7 @@ public:
         int idx = 0;
         if (lb == LB_RoundRobin) {
             if (++next_loop_idx_ >= numLoops) next_loop_idx_ = 0;
-            idx = next_loop_idx_;
+            idx = next_loop_idx_.fetch_and(numLoops);
         } else if (lb == LB_Random) {
             idx = hv_rand(0, numLoops - 1);
         } else if (lb == LB_LeastConnections) {