From bf72e670417298fd43625128fd1b15f816e933e3 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 a2d63c4..28472d7 100644 --- a/pkg/runner/run_context.go +++ b/pkg/runner/run_context.go @@ -189,6 +189,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}}"