George T Kramer 557fb493ca Make full file creation for directories thread-safe
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>
2017-10-05 13:30:20 -07:00
2017-09-21 09:17:24 -07:00
2016-03-03 08:39:11 -08:00
2017-09-20 11:02:18 -07:00
2016-02-24 10:00:31 -08:00
2016-02-24 10:00:31 -08:00
2016-02-24 10:00:31 -08:00

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.
S
Description
No description provided
Readme 1.1 MiB
Languages
C 69.3%
Shell 27.7%
Makefile 1.6%
M4 1.4%