init.sh shouldn't block forever waiting for pbsplash when trying to stop it
At the moment, this is entirely speculative since I've not observed the init.sh blocking indefinitely, but....
Currently in the initramfs init.sh, pbsplash is terminated with SIGTERM (killall pbsplash
, default signal with busybox killall). It's technically possible for pbsplash to hang or otherwise ignore the SIGTERM. If that happens, init.sh would go into an infinite loop waiting for it (see: https://gitlab.com/postmarketOS/pmaports/-/blob/master/main/postmarketos-initramfs/init_functions.sh#L613).
My inclination is that there should be a timeout for pbsplash to quit after sending SIGTERM, then on timeout send SIGKILL so that it's not possible for the init.sh to be hung up indefinitely in this situation.
Also see: !3952 (comment 1319944784) (and response from @cherrypicker, with a concern about using SIGKILL on pbsplash)
cc @calebccff