From 251cc1c26dd2d7de7a522ac202bc576a706faca6 Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Sat, 11 Nov 2023 11:21:05 +0100 Subject: [PATCH] [LXC] global lock on start Since the start script may create LXC templates that are shared, they may race against each other when running for the first time. A lock global to the host needs to be used to guarantee that does not happen. --- pkg/runner/run_context.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/runner/run_context.go b/pkg/runner/run_context.go index d273fd2..1f0924f 100644 --- a/pkg/runner/run_context.go +++ b/pkg/runner/run_context.go @@ -194,6 +194,8 @@ var lxcHelpers string var startTemplate = template.Must(template.New("start").Parse(`#!/bin/bash -e +exec 5<>/tmp/forgejo-runner-lxc.lock ; flock --timeout 21600 5 + LXC_CONTAINER_CONFIG="{{.Config}}" LXC_CONTAINER_RELEASE="{{.Release}}"