notcurses/tests
nick black a23efbb463
rigourize ncsubproc destruction
We need support three distinct paths for destruction of
ncsubprocs: (1) external call to ncsubproc_destroy() while
the subprocess is running, (2) external call to
ncsubproc_destroy() after the subprocess has terminated, and
(3) internal call to ncsubproc_destroy() without any external
call. To do this properly, we always waitid() on the subprocess
in our ncsubproc thread, and do not cancel said thread. This
guarantees that the subprocess has been reaped if the thread
has exited. We throw a pidfd_send_signal() into the thread
prior to the waitid(), because this is safe with pidfds. The
thread reclaims no resources otherwise. ncsubproc_destroy(),
instead, reclaims them, after joining the ncsubproc thread.
It sends SIGKILL before the join, which is once again safe
thanks to pidfds. Resolves #552.
2020-05-02 04:34:37 -04:00
..
cell.cpp cells unit test: downgrade problematic unicode to WARN #517 2020-04-25 17:34:51 -04:00
channel.cpp Prep for serious rusting #101 (#354) 2020-02-18 12:36:16 -05:00
direct.cpp ensure UTF8 for metric tests 2020-04-18 01:39:34 -04:00
egcpool.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
fade.cpp another scrolling unit test 2020-04-05 23:54:38 -04:00
fds.cpp rigourize ncsubproc destruction 2020-05-02 04:34:37 -04:00
fills.cpp ncfdplane, fileroller PoC, ncfdplane unit tests, qrcodes #24 #514 (#524) 2020-04-20 23:26:41 -04:00
input.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
internal.cpp Out with googletest, in with doctest #202 (#231) 2019-12-27 17:20:20 -05:00
main.cpp notcurses-tester: fix double-free 2020-04-27 07:16:49 -04:00
main.h move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
menu.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
metric.cpp enforce_utf8() for wide tests, duh 2020-04-18 01:59:21 -04:00
ncplane.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
notcurses.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
palette.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
plot.cpp Floating-point ncplot, genericize ncplot (#531) 2020-04-23 03:52:07 -04:00
reel.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
resize.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
rotate.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
scrolling.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
selector.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
visual.cpp visual unit test: use notcursesI.avi, which OIIO can decode #547 2020-04-28 21:23:36 -04:00
wide.cpp move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
zaxis.cpp plot: match delete, not free, with new 2020-04-29 05:32:08 -04:00