Message ID | 20190123085923.12524-1-laurent.pinchart@ideasonboard.com |
---|---|
Headers | show |
Series |
|
Related | show |
Hi Laurent, Thanks for your work. With the comment Kieran brings up about the possible collision with poll() in 2/4 addressed, for the whole series Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> On 2019-01-23 10:59:19 +0200, Laurent Pinchart wrote: > Hello, > > This patch series enhances the event dispatcher with two new features. > In patch 2/4 we get EINTR support to automatically restart the ppoll() > call if it gets interrupted by a signal, and in patch 3/4 the event > dispatcher API is extended with a function to interrupt in-progress > processEvents() calls. This is needed in order to interrupt event loops > gracefully. > > The series starts in patch 1/4 by adding a test that fails, to outline > missing EINTR support, which is then fixed by patch 2/4. It ends with > another test case for the new EventDispatcher::interrupt() method. > > Laurent Pinchart (4): > tests: Test event dispatcher interruption by signal > libcamera: event_dispatcher_poll: Handle interrupted ppoll() calls > libcamera: event_dispatcher: Add interrupt() function > tests: event-dispatcher: Add processEvents() interruption test > > include/libcamera/event_dispatcher.h | 2 + > src/libcamera/event_dispatcher.cpp | 10 ++ > src/libcamera/event_dispatcher_poll.cpp | 82 ++++++++++---- > src/libcamera/include/event_dispatcher_poll.h | 4 + > test/event-dispatcher.cpp | 103 ++++++++++++++++++ > test/meson.build | 9 +- > 6 files changed, 184 insertions(+), 26 deletions(-) > create mode 100644 test/event-dispatcher.cpp > > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > libcamera-devel mailing list > libcamera-devel@lists.libcamera.org > https://lists.libcamera.org/listinfo/libcamera-devel