diff --git a/src/peers.c b/src/peers.c index b473a4ccb..16a2fdb43 100644 --- a/src/peers.c +++ b/src/peers.c @@ -2409,6 +2409,8 @@ static inline void init_accepted_peer(struct peer *peer, struct peers *peers) if ((int)(st->table->localupdate - st->update) < 0) st->update = st->table->localupdate + (2147483648U); st->teaching_origin = st->last_pushed = st->update; + if ((int)(st->last_pushed - st->table->commitupdate) > 0) + st->table->commitupdate = st->last_pushed; HA_SPIN_UNLOCK(STK_TABLE_LOCK, &st->table->lock); } @@ -2459,6 +2461,8 @@ static inline void init_connected_peer(struct peer *peer, struct peers *peers) if ((int)(st->table->localupdate - st->update) < 0) st->update = st->table->localupdate + (2147483648U); st->teaching_origin = st->last_pushed = st->update; + if ((int)(st->last_pushed - st->table->commitupdate) > 0) + st->table->commitupdate = st->last_pushed; HA_SPIN_UNLOCK(STK_TABLE_LOCK, &st->table->lock); }