Newer Python interpreters emit a warning during cleanup if open
files are not closed prior to termination. Our selftest opens the
pidfile for reading in a couple of places, as well as logfiles to
capture stdout/stderr. Open them in context blocks so they will be
closed on return rather than remaining open until the process ends.
def start_service(config):
# Clean up any previously run daemon which didn't terminate
if os.path.exists(pidfile):
def start_service(config):
# Clean up any previously run daemon which didn't terminate
if os.path.exists(pidfile):
- pidfd = open(pidfile)
- pid = int(pidfd.read())
+ with open(pidfile) as pidfd:
+ pid = int(pidfd.read())
try:
# Stop the running service
os.kill(pid, 15)
try:
# Stop the running service
os.kill(pid, 15)
# This cleans up a daemonized and disassociated service
if os.path.exists(pidfile):
# This cleans up a daemonized and disassociated service
if os.path.exists(pidfile):
- pidfd = open(pidfile)
- pid = int(pidfd.read())
+ with open(pidfile) as pidfd:
+ pid = int(pidfd.read())
try:
# Stop the running service
os.kill(pid, 15)
try:
# Stop the running service
os.kill(pid, 15)
# Log the contents of stdout and stderr, if any
stdout, stderr = service.communicate()
tlog("\nRecording stdout as capture_stdout.log.")
# Log the contents of stdout and stderr, if any
stdout, stderr = service.communicate()
tlog("\nRecording stdout as capture_stdout.log.")
- serviceout = open("capture_stdout.log", "w")
- serviceout.write(stdout.decode("utf-8"))
+ with open("capture_stdout.log", "w") as serviceout:
+ serviceout.write(stdout.decode("utf-8"))
tlog("\nRecording stderr as capture_stderr.log.")
tlog("\nRecording stderr as capture_stderr.log.")
- serviceerr = open("capture_stderr.log", "w")
- serviceerr.write(stderr.decode("utf-8"))
+ with open("capture_stderr.log", "w") as serviceerr:
+ serviceerr.write(stderr.decode("utf-8"))