udev-cache: improve error handling

If an error occurs while the udev cache is being populated, the system
is left in a state where udev is stopped.  Remedy this with a clean up
function to restart udev and remove any intermediate files.

(From OE-Core rev: af911b272ded95884079dc307eeeb1811f0584c9)

Signed-off-by: Ken Sharp <ken.sharp@ni.com>
Reviewed-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ken Sharp 2015-04-21 10:35:45 -05:00 committed by Richard Purdie
parent c62828e0c7
commit 9686a10207
1 changed files with 7 additions and 1 deletions

View File

@ -51,9 +51,15 @@ fi
[ "${VERBOSE}" == "no" ] || echo "found."
echo "Populating dev cache"
err_cleanup () {
echo "udev-cache: update failed!"
udevadm control --start-exec-queue
rm -f -- "$SYSCONF_TMP" "$DEVCACHE_TMP" "$DEVCACHE" "$SYSCONF_CACHED"
}
(
set -e
trap 'echo "udev-cache: update failed!"' EXIT
trap 'err_cleanup' EXIT
udevadm control --stop-exec-queue
sysconf_cmd > "$SYSCONF_TMP"
find /dev -xdev \( -type b -o -type c -o -type l \) | cut -c 2- \