Commit Graph

11 Commits

Author SHA1 Message Date
Félix Saparelli 446a8d95a7 Replace event queue with a priority queue (#302)
Solves several issues, generally through delivering signals before filesystem events, preventing situations where an overwhelming amount of events makes it impossible to quit.

Does _not_ solve the problem of a queue full of lower-priority events not accepting an urgent message, but that's a rarer issue that's more complicated to overcome.

Changes the Filterer trait: adds Priority to `check_event()`

Makes some events unfilterable (Urgent priority): SIGINT, SIGTERM, and CTRL_C to the main process. These still need to be handled by `on_action` to do anything, but cannot be stopped before reaching that.
2022-06-11 06:43:11 +00:00
Félix Saparelli f19dbf945d
Express process end exceptions as hex in filters 2021-12-23 00:32:56 +13:00
Félix Saparelli 8a7699cf2f
Add process completion signal tests 2021-12-21 18:01:51 +13:00
Félix Saparelli e4d669e230
Implement most of process completion matching
(except ExitSignal)
2021-12-21 17:56:14 +13:00
Félix Saparelli 5856f976db
Add tests for process completion 2021-12-21 17:49:02 +13:00
Félix Saparelli 4323a28852
Implement signal matching 2021-12-21 16:38:57 +13:00
Félix Saparelli ff8b019245
Add tests for signal matchers 2021-12-21 16:29:36 +13:00
Félix Saparelli 962c7cd6d6
Test pids 2021-12-21 16:14:58 +13:00
Félix Saparelli 02534defd6
Test feks 2021-12-18 12:53:33 +13:00
Félix Saparelli 5ebceddc3e
Start testing nonpaths 2021-12-17 23:29:02 +13:00
Félix Saparelli b59acaa9cf
Start testing parser and nonpaths 2021-12-15 07:24:13 +13:00