| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-11-22 | Take a timeout argument in EventManager::handle_next_events | Maxime Coste | |
| When provided, this gives the maximal time to wait before exiting handle_next_events. If not given handle_next_events will block, this provides a more flexible approach than the previous "block" boolean. Use this to wait for a millisecond between each try to open a fifo for writing. Fixes the 100% cpu usage discussed in github on commit e74a3ac6a3bad1b74af71aa0bfdacb41ffcb7355 | |||
| 2023-12-26 | Small code style tweak | Maxime Coste | |
| 2023-05-21 | Add <c-g> to cancel current operation | Maxime Coste | |
| The current implementation only does this during regex operations, but should be extensible to other operations that might take a long time by regularly calling EventManager::handle_urgent_events(). | |||
| 2021-03-11 | Do not select on non-urgent fd when handling only urgent events | Maxime Coste | |
| This avoids 100% CPU usage when we have pending fifo input while running a shell process, as we will not end-up busy looping in pselect but not reading the available data due to being only processing urgent events. | |||
| 2020-09-18 | Add illumos/Solaris support | luka null | |
| 2019-02-27 | Fixed all reorder warnings | Justin Frank | |
| 2018-06-03 | EventManager: Never block if a forced file descriptor is present | Maxime Coste | |
| 2018-05-17 | Handle all pending events before redrawing | Maxime Coste | |
| If new events happen while handling events, take care of those new events as well before redrawing. | |||
| 2018-01-21 | Do not block when waiting for next event if we have pending input | Maxime Coste | |
| Handle next event should never block if we have already accumulated input that we want to process. As we can accumulate new input in lots of places (everytime we run a shell process for example, we might end up reading input keys. That can be triggered during the mode line generation which takes place during display of the window) Fixes #1804 | |||
| 2017-08-29 | Rename containers.hh to ranges.hh (and Container to Range) | Maxime Coste | |
| 2017-03-15 | Migrate WithBitOps template specialization to with_bit_ops function | Maxime Coste | |
| This way we dont depend on knowing the base template to enable bit ops on an enum type. | |||
| 2016-12-06 | Ensure timers are still alive when trying to run them | Maxime Coste | |
| 2016-12-01 | Make FDWatcher support Read, Write and Except events, instead of just Read | Maxime Coste | |
| 2016-01-10 | Rename set_signal_wrapper to set_signal_handler and tweak SignalHandler def | Maxime Coste | |
| 2015-12-23 | Add a signal function using sigaction | Daniel Robertson | |
| Use a wrapper for sigaction in place of signal to ensure that the SA_RESTART flag is set for all signals used. Signed-off-by: Daniel Robertson <danlrobertson89@gmail.com> | |||
| 2015-06-09 | Fix race condition ShellManager::eval with SIGCHLD | Maxime Coste | |
| 2015-06-09 | Fix comment | Maxime Coste | |
| 2015-06-08 | Do not close stderr/stdout before program finish | Maxime Coste | |
| Programs like grep called in '$' command will fail due to SIGPIPE for example. So we need to keep the pipe open. | |||
| 2014-12-23 | Move containers utils to containers.hh and add filtered/transformed utils | Maxime Coste | |
| 2014-12-18 | Do not register timers for transient input handlers | Maxime Coste | |
| 2014-12-12 | Avoid very long timeouts in event manager | Maxime Coste | |
| 2014-12-09 | Get rid of uses of unordered_set, vector is just simpler and faster... | Maxime Coste | |
| 2014-12-04 | Refactor (again) event handling, use proper infinite timeout | Maxime Coste | |
| 2014-12-03 | Limit event handler timeout to 2 seconds | Maxime Coste | |
| 2014-12-03 | Microsecond is 10^(-6)s, not 10^(-9)s | Maxime Coste | |
| 2014-12-03 | Fix timeval field types | Maxime Coste | |
| 2014-12-03 | Use a select based event handling and fix deadlock | Maxime Coste | |
| 2014-11-29 | Rework client pending key handling, fix insert/normal timers | Maxime Coste | |
| 2014-11-25 | Separate events between normal and urgent ones | Maxime Coste | |
| Run urgent ones while executing %sh blocks. Fixes #236 | |||
| 2014-11-24 | Style tweak | Maxime Coste | |
| 2014-08-17 | Get forced file descriptors after calling poll | Maxime Coste | |
| That way, we do not wait for the next poll to finish before servicing forced fd triggered by a signal that interupted the poll call. | |||
| 2014-08-14 | Add support for running kakoune as a filter, using -f 'keys' | Maxime Coste | |
| It will cycle on every given files, apply the keys and write to <filename>.kak-out. Only normal/insert mode is available, kakrc are not read. | |||
| 2014-08-12 | Defer deletion of buffers to after the event loop | Maxime Coste | |
| We can have SelectionList in flights on the buffer, so mark it for deletion by moving it in a buffer trash, and effectively delete it later, at a point where there should not be any further access to it. | |||
| 2014-03-18 | EventManager: fix busy loop when no timer events exists. | Maxime Coste | |
| 2014-02-12 | EventManager now wakes up for next timer rather than running a 10Hz | Maxime Coste | |
| 2013-09-23 | small optimization in event manager | Maxime Coste | |
| 2013-09-17 | Only redraw clients after handling all available events | Maxime Coste | |
| 2013-04-09 | rename assert to kak_assert to avoid collisions | Maxime Coste | |
| 2013-01-31 | Remove Set and use unordered_set | Maxime Coste | |
| 2013-01-14 | EventManager: add support for timers | Maxime Coste | |
| 2013-01-11 | Add and use a Set template class for recuring small sets | Maxime Coste | |
| 2013-01-10 | Refactor EventManager | Maxime Coste | |
| Watching a file descriptor is now done using a FDWatcher object | |||
| 2013-01-04 | various code style fixes | Maxime Coste | |
| 2012-12-03 | EventManager: fix forced event processing | Maxime Coste | |
| previous implementation could drop some forced events. | |||
| 2012-11-27 | EventManager: refactor (again) | Maxime Coste | |
| 2012-11-26 | EventManager: avoid erasing an event handler while it may be in use | Maxime Coste | |
| 2012-11-06 | EventManager: store event handlers in an unordered_map instead of a vector | Maxime Coste | |
| If an event handler add or removes an event from the manager, it may then be moved in the vector, and if after that it access any of it's members (through this), it results in an invalid memory access. | |||
| 2012-10-27 | EventManager: handle forced events even when poll return -1 | Maxime Coste | |
| 2012-10-27 | EventManager: add force_signal method to force event execution | Maxime Coste | |
| 2012-09-12 | rework fifo handling, use real fifos in {make,grep}.kak, update README | Maxime Coste | |
