-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move WakeIOThread() functionality to WatchableEventManager #8456
Conversation
#### Problem System::Layer contains `WakeIOThread()` and `mWakeEvent` which are really implementation details of `WatchableEventManager`. #### Change overview - Replace `System::Layer::WakeIOThread()` with `WatchableEventManager::Signal()`, because not every implementation will necessarily implement the nudge by waking a thread. - Split `SystemSockets.h` into `WatchableEventManager.h`, `WatchableSocket.h`, and `WakeEvent.h`; likewise split the various implementation files. - Make the `System::WakeEvent` public API independent of the file-descriptor implementation. For the present, `mHandleSelectThread` remains in `System::Layer` until timers are integrated and the transitional `HandleTimeout()` is removed. #### Testing Sanity check with chip-tool. CI should verify that functionality does not regress.
(#5556): default to offconnectedhomeip/src/system/WatchableEventManagerLibevent.cpp Lines 41 to 51 in 26a7e98
This comment was generated by todo based on a
|
(#5556): Integrate timer platform details with WatchableEventManager.connectedhomeip/src/system/WatchableEventManagerLibevent.cpp Lines 83 to 93 in 26a7e98
This comment was generated by todo based on a
|
(#5556): Integrate timer platform details with WatchableEventManager.connectedhomeip/src/system/WatchableEventManagerLibevent.cpp Lines 90 to 100 in 26a7e98
This comment was generated by todo based on a
|
(#5556): Some unit tests supply a timeout at low level, due to originally using select(); these should a proper timer.connectedhomeip/src/system/WatchableEventManagerLibevent.h Lines 50 to 60 in 26a7e98
This comment was generated by todo based on a
|
(#5556): Integrate timer platform details with WatchableEventManager.connectedhomeip/src/system/WatchableEventManagerSelect.cpp Lines 186 to 196 in 26a7e98
This comment was generated by todo based on a
|
(#5556): Some unit tests supply a timeout at low level, due to originally using select(); these should a proper timer.connectedhomeip/src/system/WatchableEventManagerSelect.h Lines 54 to 64 in 26a7e98
This comment was generated by todo based on a
|
(#5556): Integrate timer platform details with WatchableEventManager.connectedhomeip/src/system/WatchableEventManagerSelect.h Lines 68 to 78 in 26a7e98
This comment was generated by todo based on a
|
Reviewers — github's presentation of this change obscures what's going on, since you can't tell which parts of the split files are actually new. |
|
Size increase report for "esp32-example-build" from ac52aa6
Full report output
|
Size increase report for "nrfconnect-example-build" from ac52aa6
Full report output
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the links to actually-useful diffs!
…leEventManager #### Problem TestPlatformMgr reports errors, ``` CHIP:CSL: System wake event notify failed: OS Error 0x02000009: Bad file descriptor ``` (although it still passes, which obscured the problem). This might be behind intermittent core dumps in CI. #### Change overview Revert project-chip#8456 Move WakeIOThread() functionality to WatchableEventManager #### Testing No error reported by TestPlatformMgr after reverting.
…leEventManager #### Problem TestPlatformMgr reports errors, ``` CHIP:CSL: System wake event notify failed: OS Error 0x02000009: Bad file descriptor ``` (although it still passes, which obscured the problem). This might be behind intermittent core dumps in CI. #### Change overview Revert project-chip#8456 Move WakeIOThread() functionality to WatchableEventManager #### Testing No error reported by TestPlatformMgr after reverting.
…hip#8456) #### Problem System::Layer contains `WakeIOThread()` and `mWakeEvent` which are really implementation details of `WatchableEventManager`. #### Change overview - Replace `System::Layer::WakeIOThread()` with `WatchableEventManager::Signal()`, because not every implementation will necessarily implement the nudge by waking a thread. - Split `SystemSockets.h` into `WatchableEventManager.h`, `WatchableSocket.h`, and `WakeEvent.h`; likewise split the various implementation files. - Make the `System::WakeEvent` public API independent of the file-descriptor implementation. For the present, `mHandleSelectThread` remains in `System::Layer` until timers are integrated and the transitional `HandleTimeout()` is removed. #### Testing Sanity check with chip-tool. CI should verify that functionality does not regress.
Problem
System::Layer contains
WakeIOThread()
andmWakeEvent
which arereally implementation details of
WatchableEventManager
.Change overview
Replace
System::Layer::WakeIOThread()
withWatchableEventManager::Signal()
, because not every implementationwill necessarily implement the nudge by waking a thread.
Split
SystemSockets.h
intoWatchableEventManager.h
,WatchableSocket.h
, andWakeEvent.h
; likewise split thevarious implementation files.
Make the
System::WakeEvent
public API independent of thefile-descriptor implementation.
For the present,
mHandleSelectThread
remains inSystem::Layer
until timers are integrated and the transitional
HandleTimeout()
is removed.
Testing
Sanity check with chip-tool. CI should verify that functionality does
not regress.