mirror of
https://github.com/clearlinux/swupd-server.git
synced 2026-08-19 04:57:43 +00:00
557fb493ca06e9cdcd104a48fd47f754a4ab5a8a
When running many instances of swupd_make_fullfiles in parallel, the read end of the pipe between the tar's for creating the full file of a directory becomes reused. The observed behavior of this is swupd_make_fullfiles hangs indefinitely with the expected tar reader missing. The corresponding tar writer is not killed with SIGPIPE because there is at least one reader still for the pipe, swupd_make_fullfiles. First forking from swupd_make_fullfiles, creating the pipe, and then fork-and-exec'ing for each tar ensures that pipe and file descriptor management is contained for the directory rename in question and cannot be reused by other directory renames. Signed-off-by: George T Kramer <george.t.kramer@intel.com>
The swupd-server package provides a reference implementation of a software update server-side component that generates update content consumable by a software update client (swupd-client). Such content includes manifests that describe incremental changes in the OS from build to build, binary deltas, full copies of files (fullfiles) that were added/changed from a previous build, and packs composed of binary deltas and/or fullfiles.
Description
Languages
C
69.3%
Shell
27.7%
Makefile
1.6%
M4
1.4%