On Wed, Nov 11, 2020 at 08:50:27PM -0600, Derek Martin wrote: > On Wed, Nov 11, 2020 at 02:34:57PM -0600, Derek Martin wrote: > background.c: > background_edit_landing_page() has this code: > > while (!done) > { > wait_rc = waitpid (bg_pid, NULL, WNOHANG); > if ((wait_rc > 0) || > ((wait_rc < 0) && (errno == ECHILD))) > { > rc = 0; > break; > } > ... > > Checking for ECHILD is unnecessary if children are handled properly.
Ugh. FWIW this also may not be quite right... I originally had some additional text intended to clarify that, but it got chopped as I edited because the message was already so ridiculously long. This may well be right, if you have some expectation that the process SHOULD still be running... I didn't read enough of the background editing code to get a good sense of that. At any rate, the discussion after that outlined why checking for ECHILD is probably a mistake in most contexts, even if it is not in this specific instance. -- Derek D. Martin http://www.pizzashack.org/ GPG Key ID: 0xDFBEAD02 -=-=-=-=- This message is posted from an invalid address. Replying to it will result in undeliverable mail due to spam prevention. Sorry for the inconvenience.
signature.asc
Description: PGP signature