fix: partially fix a bug that prevented group part messages from sending #2609
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When a peer leaves a group, they send a packet to the group indicating that they're leaving. However if this packet is sent via TCP, it gets put in a packet queue, which is then destroyed on the rest of the group cleanup process before ever being able to send.
This pr allows do_gc() to finish an iteration before cleaning the group up, which allows the TCP packet queue to be emptied. However this bug still exists on a tox_kill() event because we don't have a chance to do another do_gc() iteration.
This change is