2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-10-20 14:45:41 +00:00
Files
xcat-core/build-utils/lib
Daniel Hilst b62585475a fix(xcat-core): build locks the shared tree refuses to grant
A cancelled build left its lock directory behind on the shared tree, so
every later build of the same checkout waited for a lock whose owner was
gone. The build helper ran each command with a plain fork and killed only
the immediate child, so the shell's own workers survived the cancellation
and kept the tree in use.

XCAT::BuildUtils now runs each command in its own process group, blocks
the cancellation signals across the fork so neither side can miss the
group, and signals the group rather than the pid. It escalates to KILL,
confirms the group is gone, and retains the locks when it is not, so a
lock is never released while a worker can still write.

xCAT-test/unit/builddebs_lock_cancellation.t captures the defect. It
fails without the change.

Backport of #7867 to 2.19.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-09-24 11:58:27 -03:00
..