[mclagsyncd] fix out of order initialization #2274
Open
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.
It's cherry-pick from master branch: #2112
What I did
Reorder class member variables.
Why I did it
I've encountered an issue with m_bufSize, it's initialization is random, some times it may be initializied with 0, some times with random value.
m_bufSize
useMSG_BATCH_SIZE
for initialization:but
MSG_BATCH_SIZE
declared afterm_bufSize
so MSG_BATCH_SIZE will be initialized after m_bufSize, and m_bufSize will use MSG_BATCH_SIZE with uninitialized value.
How I verified it
Setup mclag topology, some times mclagsyncd will not be able to receive data after startup.
Details if related
More about this issue in cpp reference
IMHO it must be treated as compilation error, so it will be better to use-Werror=reorder parameter for compiler to avoid such issues.
Signed-off-by: Petro Bratash [email protected]