bitbake: prserv/serv: Fix a PID file removal race on prserv stop

A race condition has happened where the exiting server removed the PID
file between the existence check and the removal, resulting in a
FileNotFoundError exception.

The fix is to ignore the FileNotFoundError exception, the existence
check is now redundant so remove it to simplify.

Fixes [YOCTO #14341]

(Bitbake rev: 40d00bf9308e0bf73a00134a99a012a292daa1c5)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Yoann Congal
2024-02-29 22:56:39 +01:00
committed by Richard Purdie
parent 2689d8cf22
commit ef88dee4f7

View File

@@ -262,8 +262,11 @@ def stop_daemon(host, port):
os.kill(pid, signal.SIGTERM)
time.sleep(0.1)
if os.path.exists(pidfile):
try:
os.remove(pidfile)
except FileNotFoundError:
# The PID file might have been removed by the exiting process
pass
except OSError as e:
err = str(e)