Lock answers file.
This commit is contained in:
parent
d4e8cb7ffa
commit
488f6fd2c0
|
@ -17,6 +17,7 @@
|
|||
import argparse
|
||||
import logging
|
||||
import os
|
||||
import fcntl
|
||||
import signal
|
||||
import sys
|
||||
|
||||
|
@ -126,6 +127,15 @@ def main():
|
|||
logger.debug("Autoloading answers from %s", AUTO_ANSWERS_FILE)
|
||||
opts.answers = AUTO_ANSWERS_FILE
|
||||
|
||||
if opts.answers:
|
||||
opts.answers = open(opts.answers)
|
||||
try:
|
||||
fcntl.flock(opts.answers, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
except OSError:
|
||||
logger.exception('Failed to lock auto answers file, proceding without it.')
|
||||
opts.answers.close()
|
||||
opts.answers = None
|
||||
|
||||
ui = SubiquityUI()
|
||||
|
||||
try:
|
||||
|
|
|
@ -263,7 +263,7 @@ class Application:
|
|||
|
||||
answers = {}
|
||||
if opts.answers is not None:
|
||||
answers = yaml.safe_load(open(opts.answers).read())
|
||||
answers = yaml.safe_load(opts.answers.read())
|
||||
log.debug("Loaded answers %s", answers)
|
||||
if not opts.dry_run:
|
||||
open('/run/casper-no-prompt', 'w').close()
|
||||
|
|
Loading…
Reference in New Issue