From af911b272ded95884079dc307eeeb1811f0584c9 Mon Sep 17 00:00:00 2001 From: Ken Sharp Date: Tue, 21 Apr 2015 10:35:45 -0500 Subject: 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. Signed-off-by: Ken Sharp Reviewed-by: Ben Shelton Signed-off-by: Richard Purdie --- meta/recipes-core/udev/udev/udev-cache | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'meta/recipes-core/udev') diff --git a/meta/recipes-core/udev/udev/udev-cache b/meta/recipes-core/udev/udev/udev-cache index 12f68fb825..dcfff1cb45 100644 --- a/meta/recipes-core/udev/udev/udev-cache +++ b/meta/recipes-core/udev/udev/udev-cache @@ -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- \ -- cgit 1.2.3-korg