|
|
|
@ -346,6 +346,12 @@ def main(): |
|
|
|
|
if EON and os.geteuid() != 0: |
|
|
|
|
raise RuntimeError("updated must be launched as root!") |
|
|
|
|
|
|
|
|
|
ov_lock_fd = open(LOCK_FILE, 'w') |
|
|
|
|
try: |
|
|
|
|
fcntl.flock(ov_lock_fd, fcntl.LOCK_EX | fcntl.LOCK_NB) |
|
|
|
|
except IOError as e: |
|
|
|
|
raise RuntimeError("couldn't get overlay lock; is another updated running?") from e |
|
|
|
|
|
|
|
|
|
# Set low io priority |
|
|
|
|
proc = psutil.Process() |
|
|
|
|
if psutil.LINUX: |
|
|
|
@ -355,11 +361,9 @@ def main(): |
|
|
|
|
if Path(os.path.join(STAGING_ROOT, "old_openpilot")).is_dir(): |
|
|
|
|
cloudlog.event("update installed") |
|
|
|
|
|
|
|
|
|
ov_lock_fd = open(LOCK_FILE, 'w') |
|
|
|
|
try: |
|
|
|
|
fcntl.flock(ov_lock_fd, fcntl.LOCK_EX | fcntl.LOCK_NB) |
|
|
|
|
except IOError as e: |
|
|
|
|
raise RuntimeError("couldn't get overlay lock; is another updated running?") from e |
|
|
|
|
if not params.get("InstallDate"): |
|
|
|
|
t = datetime.datetime.utcnow().isoformat() |
|
|
|
|
params.put("InstallDate", t.encode('utf8')) |
|
|
|
|
|
|
|
|
|
# Wait for IsOffroad to be set before our first update attempt |
|
|
|
|
wait_helper = WaitTimeHelper(proc) |
|
|
|
|