home/rc/tools
Frank LENORMAND fe5f357446 rc lint: Avoid stray processes and temporary directory
This commit is an attempt at mitigating stray processes and temporary
directories, which pile up in the process tree and `$TMPDIR` over time.

To reproduce the issue, run the `lint` command in rapid successions,
or simply run `:lint; lint; lint;` in the prompt (two consecutive
calls are enough to trigger the bug).

The first call creates a `\*lint-ouput*` buffer, bound to a named
pipe that will be populated later on in an asychronous shell
process. It's that same process that runs the linter afterward, and as
soon as it has been spawned, the following call to `:lint` is executed.

Each call to `:lint` overrides the path to the named pipe that was
assigned to `\*lint-output*` by the previous one, resulting in several
asynchronous processes (that write diagnostics to the pipe) hanging
forever — the pipe is never read, and so the process idles.

The command that removes the temporary directory follows the one that
writes to the named pipe, it's never called in the above scenario,
which additionally results in `kak-lint.XXXXXXXX` directories being
left behind in `$TMPDIR`.

(Also) Fixes #3681.
2020-11-30 13:51:34 +03:00
..
go gopls.kak: use nop for removing temp dir 2020-10-17 09:47:07 +02:00
python Fix fifos for Linux 2019-06-10 18:25:51 +02:00
rust simplify rust completion to match generic Kakoune completions 2019-05-17 20:00:40 +03:00
autorestore.asciidoc Update plugin docs to not duplicate docstring information. 2020-09-03 17:18:19 +10:00
autorestore.kak Reference content goes in docstrings, explanations go in prose docs. 2020-09-04 19:20:50 +10:00
autowrap.kak rc: Make docstrings more readable 2020-02-03 20:53:28 +01:00
clang.kak Replace write -atomic with write -method <method> 2020-10-27 20:20:18 +11:00
comment.kak Mercury-lang filetype support 2020-08-31 16:36:43 +02:00
ctags.kak Merge remote-tracking branch 'lenormf/patch-3' 2020-02-05 20:41:40 +11:00
doc.asciidoc Update plugin docs to not duplicate docstring information. 2020-09-03 17:18:19 +10:00
doc.kak Merge remote-tracking branch 'ManDay/master' into master 2020-11-11 07:25:54 +11:00
format.kak rc: Use the standard fail command to report errors 2019-11-14 08:32:55 +01:00
git.kak Clear unwanted environment variable 2020-09-02 06:54:19 +02:00
grep.kak Apply suggestions from code review 2020-09-06 10:56:37 +10:00
lint.asciidoc Reference content goes in docstrings, explanations go in prose docs. 2020-09-04 19:20:50 +10:00
lint.kak rc lint: Avoid stray processes and temporary directory 2020-11-30 13:51:34 +03:00
make.kak rc: Make docstrings more readable 2020-02-03 20:53:28 +01:00
man.kak Avoid accidentally using environment variables in sh scopes 2020-08-24 19:01:05 +02:00
spell.kak [-] spell.kak: undocumented aspell buggy-behavior avoided. 2020-11-06 15:41:12 +03:00