I remember when compact disc became the popular format. One of my favorite places to buy LPs went only CD. LPs disappeared from shelves everywhere a year or so later. The trailblazer shop? They closed as they followed the trend too early! For years my LPs languished, in boxes in the shed. The turntable in its box on alongside them. Suddenly "vinyl" became popular again. Actually it was a gradual return but I was slow to notice. Compact Disc is now the format slowly withering away - slowly being killed by music streaming services. I now have my vinyl and turntable in the house again and I have started listening to it again. The latest home theater amplifiers now have phono inputs. Welcome back vinyl! If only the high street outlets weren't charging premium prices for new LPs. I even have a second turntable for when I am working in the shed!
A problem was reported by a customer. They were getting a failure and in the logs it reported error → waitpid failed 'Reason: No child processes' The “No child processes” error came from waitpid() after using fork/spawn to launch a utility to load data into a data base. Upon detailed investigation it appears it is possible that some other process that the user is running has changed the default handler for SIGCHLD - possibly the shell (e.g. bash!) used to launch our server processes. If the signal handler is set to SIG_IGN then when a process is started using fork()/exec() the return code from the process is NOT returned and waitpid() cannot retrieve the response code. The most likely reason for "No child processes" error from waitpid() is that the signal handler for child processes (SIGCHLD) is not set to SIG_DFL. This should not be possible however it seems that on Linux a process run in the shell (or maybe a shell process) can set it...