A running noad process will crash badly when the recording to be cut is deleted while it runs. This leads to noad only be killable via "kill -9". This hanging noad-process will keep vdr from shutting down. Thus something should be done against. There are several possibilities: 1. Construct a timeout for noad-runs and kill it after 30m or so. (From the calling shell-script, or from shutdown-script when noad-process is too old). 2a. Implement the timeout directly in noad-executable. 2b. (Better, but more complicated) Find the real cause of the crash.
Steps to reproduce the error: 1. Record something, recording should contain multiple files 001.vdr 002.vdr ... 1a. either record something very long 1b. or reduce the max-filesize of recording-files 2. stop the recording/wait for its end. 3. when noad started, delete the recording 4. when noad tries to access the next file it will hang This is due to bad error-checking in noad. File cannot be opened => set filenr=-1, the read-command will not check this condition and noad will segfault. Attached patch will check this condition in read-code-path and kill noad sane (at least I hope so).
Created attachment 97749 [details, diff] patch to add better error-checking for preventing segfault
Added patch to ebuild.