MXS-3023: Fix ID generator overflow

The result must always be non-negative.
This commit is contained in:
Markus Mäkelä 2020-06-04 15:31:17 +03:00
parent 5380bd65f1
commit d025f5123e
No known key found for this signature in database
GPG Key ID: 5CE746D557ACC499

View File

@ -1064,7 +1064,7 @@ std::unique_ptr<json_t> RoutingWorker::get_qc_stats_as_json(const char* zHost)
// static
RoutingWorker* RoutingWorker::pick_worker()
{
static int id_generator = 0;
static uint32_t id_generator = 0;
int id = this_unit.id_min_worker
+ (mxb::atomic::add(&id_generator, 1, mxb::atomic::RELAXED) % this_unit.nWorkers);
return get(id);