Commit Graph

34 Commits

Author SHA1 Message Date
386eb57ba7 Reopen pipe path on EOF 2021-09-21 20:36:23 +02:00
77b9cffaf8 Cleanup 2021-09-21 20:36:23 +02:00
a158f0d7ec Add error callback for ipc handle 2021-09-21 20:36:23 +02:00
895c1a6b51 Handle fs_event and poll errors in handle wrapper 2021-09-21 20:36:23 +02:00
db52106934 Support receiving IPC messages in multiple parts 2021-09-21 20:36:23 +02:00
511e73b3b5 Close handles in destructor 2021-09-21 20:36:23 +02:00
91759a4c96 Store all handles inside eventloop
This is needed because the handle's lifetime has to be at least the
lifetime of the eventloop since the eventloop requires the handle's
memory during shutdown (for closing the handles).
2021-09-21 20:36:23 +02:00
2551ea0205 Add wrapper for uv_async_t 2021-09-21 20:36:23 +02:00
7b5285b51e Add wrapper for uv_timer_t 2021-09-21 20:36:23 +02:00
309fd8221a Create wrapper for uv_pipe_t 2021-09-21 20:36:23 +02:00
88cd525dc8 Add wrapper for uv_pipe_t 2021-09-21 20:36:23 +02:00
9d9fe8bffb Better error handling 2021-09-21 20:36:23 +02:00
53ce1ae414 Move config watcher into eventloop 2021-09-21 20:36:23 +02:00
f9d434052a Make UV handle wrappers more generic 2021-09-21 20:36:23 +02:00
60ee63c0db eventloop: Throw exception for libuv errors 2021-09-21 20:36:23 +02:00
3cc17a0e57 Move signal handling to eventloop class 2021-09-21 20:36:23 +02:00
a2f50f3b90 Use uv_pipe_t for ipc 2021-09-21 20:36:23 +02:00
a89c4ef2dd refactor: Move all event handling to the controller 2016-12-20 05:16:04 +01:00
a0d485f79d refactor: Initialize data 2016-12-15 09:30:31 +01:00
f9062d031c refactor(clang-tidy): Apply fixes 2016-12-15 03:30:41 +01:00
4c36d65cbe fix(eventloop): Acquire lock guard 2016-12-14 19:04:33 +01:00
8c3f40db5b refactor(eventloop): Use config wrapper 2016-12-14 11:01:44 +01:00
eca870774f fix: Handle single input events 2016-12-14 11:01:44 +01:00
4fca0c89b4 refactor: Object construction 2016-12-14 11:01:44 +01:00
1a2a6e5fab refactor: Construction methods 2016-12-14 11:01:44 +01:00
08be86fbe1 wip(refactor): Improve signal and event handling 2016-12-14 11:01:44 +01:00
df85a6492e refactor(eventloop): Typed events 2016-12-03 23:00:41 +01:00
c6540a8950 refactor: Signaling 2016-12-01 08:56:16 +01:00
c2acdff7d4 feat(eventloop): Delayed enqueue
A new worker that will block the queue channel
until the delayed event has been processed.

This is used to limit the amount of X button events
within defined time frame and we can't block
the main X thread.
2016-11-25 21:58:51 +01:00
ff9be848c7 refactor(clang-tidy): Apply fixes 2016-11-25 21:58:49 +01:00
c6d85b2b92 refactor: Optimize build 2016-11-20 23:04:31 +01:00
fd57ab0f3d fix: project rename 2016-11-19 06:26:07 +01:00
e7cb345cec wip: Separate source from definitions 2016-11-03 12:54:32 +01:00
1075144b00 refactor(eventloop): Use concurrent queue for events
Events are now enqueued using a thread safe concurrent queue
which makes the previous eventloop locking redundant.
2016-10-29 06:48:51 +02:00