From 8d1607e01b87f42e876c00d2abed535216ac05f3 Mon Sep 17 00:00:00 2001 From: Ansgar Burchardt Date: Sun, 14 Jun 2015 12:22:31 +0200 Subject: [PATCH] daklib/rm.py: acquire an advisory lock when writing to file --- daklib/rm.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/daklib/rm.py b/daklib/rm.py index 3a0a8f43..00643b1e 100644 --- a/daklib/rm.py +++ b/daklib/rm.py @@ -41,6 +41,7 @@ import commands import apt_pkg +import fcntl from re import sub from collections import defaultdict from regexes import re_build_dep_arch @@ -423,6 +424,9 @@ def remove(session, reason, suites, removals, log_filename = cnf["Rm::LogFile"] log822_filename = cnf["Rm::LogFile822"] with utils.open_file(log_filename, "a") as logfile, utils.open_file(log822_filename, "a") as logfile822: + fcntl.lockf(logfile, fcntl.LOCK_EX) + fcntl.lockf(logfile822, fcntl.LOCK_EX) + logfile.write("=========================================================================\n") logfile.write("[Date: %s] [ftpmaster: %s]\n" % (date, whoami)) logfile.write("Removed the following packages from %s:\n\n%s" % (suites_list, summary)) @@ -581,3 +585,6 @@ def remove(session, reason, suites, removals, logfile.write("=========================================================================\n") logfile822.write("\n") + + fcntl.lockf(logfile822, fcntl.LOCK_UN) + fcntl.lockf(logfile, fcntl.LOCK_UN) -- 2.39.2