소스 검색

fix idx out of range (#391)

xiaojin 2 년 전
부모
커밋
c0f8fba5ee
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  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) {