From e3acce2f4f491c2a7240c24f674d18c5e3306fa8 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 21 Dec 2006 20:07:46 +0000 Subject: [PATCH] * Wait until the temporary udevd is gone. svn path=/nixos/trunk/; revision=7457 --- upstart-jobs/udev.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/upstart-jobs/udev.nix b/upstart-jobs/udev.nix index a801e8d3e47f..8ef4a43fe8c1 100644 --- a/upstart-jobs/udev.nix +++ b/upstart-jobs/udev.nix @@ -20,6 +20,9 @@ env UDEV_CONFIG_FILE=${conf} start script echo '' > /proc/sys/kernel/hotplug + # Get rid of possible old udev processes. + ${procps}/bin/pkill -u root '^udevd$' || true + # Start udev. ${udev}/sbin/udevd --daemon @@ -32,10 +35,14 @@ start script # Kill udev, let Upstart restart and monitor it. (This is nasty, # but we have to run udevtrigger first. Maybe we can use # Upstart's `binary' keyword, but it isn't implemented yet.) - if ${procps}/bin/pkill -u root '^udevd$'; then + if ! ${procps}/bin/pkill -u root '^udevd$'; then echo \"couldn't stop udevd\" fi + while ${procps}/bin/pgrep -u root '^udevd$'; do + sleep 1 + done + initctl emit new-devices end script