Commit Graph

14 Commits

Author SHA1 Message Date
nick black
6edc6f098f
streamline unit test common initialization 2020-05-17 07:57:21 -04:00
nick black
1c394dc103 modernize c++ according to clang-tidy-11 2020-05-08 21:42:04 -04:00
nick black
e2a94817e7 tests: lots of NULL->nullptr 2020-05-08 21:42:04 -04:00
nick black
43a685be1e
ncsubproc: update unit tests for exit propagation #554 2020-05-06 19:53:59 -04:00
nick black
c8322e6cb1
ncfdplane: on non-following planes, break out on 0 read 2020-05-02 11:57:38 -04:00
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
nick black
c9088ff37b
subproc unit test rename 2020-05-02 03:49:16 -04:00
nick black
294e8fd90a
subproc tests: pass outofline_cancelled through as curry 2020-04-28 00:27:07 -04:00
nick black
5a017574f6
ncsubproc tests: don't rely on /etc/ files 2020-04-22 15:55:35 -04:00
nick black
34629688d9
interpret NULL second argument to *_init() as stdout 2020-04-22 12:53:56 -04:00
nick black
3e853f6635
ncsubproc: map new pipe onto stdio #310 2020-04-21 03:51:54 -04:00
nick black
04f90fa1ea
ncsubproc: launch processes, make pipes
link to LWN article in History section of README.md.
2020-04-21 03:33:04 -04:00
nick black
6304bc73e3
tester: better terminal restoration #240 2020-04-21 01:07:45 -04:00
Nick Black
fe8034b5e0
ncfdplane, fileroller PoC, ncfdplane unit tests, qrcodes #24 #514 (#524)
* first draft of ncsubproc spec
* qrcode first draft #24
* demo: add qrcode demo skeleton, entries #24
* qrcode demo #24
* fedora python build changes from @dcantrell
* ncplane_qrcode() works #24
* add some flash to the qrcode demo #24
* drone: use newest builders
* fix up rgb PoC
* drop jungle demo to 100Hz target
* add fd.c
* ncfd skeletons
* more ncfdplane #514
* ncfdp i/o loop
* ncfp: improve uinit test, write core
* firm up ncfdplane #514
* fileroller PoC #514
* ncplane: allow '\n' in stream when scrolling #523
2020-04-20 23:26:41 -04:00