fix: dconfig2cpp: ensure isInitializeSucceeded() is true only after all#535
fix: dconfig2cpp: ensure isInitializeSucceeded() is true only after all#535zccrs merged 1 commit intolinuxdeepin:masterfrom
Conversation
|
Hi @misaka18931. Thanks for your PR. 😃 |
|
Hi @misaka18931. Thanks for your PR. I'm waiting for a linuxdeepin member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
There was a problem hiding this comment.
Pull request overview
This PR fixes a race condition in the dconfig2cpp-generated code where isInitializeSucceeded() could return true before all configuration property values were fully initialized in the main thread.
Changes:
- Moved the status transition from
InitializingtoSucceeded(and the associated success signal emission) into a queued invocation to the main thread, ensuring it executes after all property initialization operations.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
config entries has been updated. Change: - queue `m_status` change in the main thread, after all queued config init invocations, to ensure thread safety. - updated generated headers in project.
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: misaka18931, zccrs The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
config entries has been updated.
Change:
m_statuschange in the main thread, after all queued config init invocations, to ensure thread safety.