diff options
author | Hiltjo Posthuma <hiltjo@codemadness.org> | 2022-03-31 22:54:48 +0200 |
---|---|---|
committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2022-03-31 23:04:20 +0200 |
commit | a6a8f296664be3d652015dd26bdaf3e2101e7f04 (patch) | |
tree | eb816b258633e168a98fe8bb3e028de76d2063a6 /sfeed.1 | |
parent | 3d4ad85bdd4e1f3f3dac229033dbcd5300ba2a18 (diff) |
sfeed_curses: improve waiting on processes and reaping them
- Wait on the exact process id and get its status.
- Handle SIGCHLD explicitly and reap zombie children: ignoring them by using
sigaction(SIGCHLD, &sa, NULL); would be racy in this case because sfeed_curses
has interactive and non-interactive programs.
Note while testing: if the markread program would be slow and in the meantime a
plumb process would exit. This signal is now pending and is a zombie process
until the SIGCHLD signal can be processed. This is fine.
This also fixes a regression from commit
30a70fa2dab1925b0eaea04f67e3f86b360386dd because SIGCHLD was ignored in the
parent for interactive processes aswell. This broke reading the exit status of
the markread program, reproducable by plumbing an item and then trying to mark
it as read (with SFEED_URL_FILE set).
Diffstat (limited to 'sfeed.1')
0 files changed, 0 insertions, 0 deletions