linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Scott James Remnant <scott@ubuntu.com>
To: linux-hotplug@vger.kernel.org
Subject: Re: waiting for an unknown set of udev /dev entries to complete
Date: Wed, 23 Nov 2005 08:26:15 +0000	[thread overview]
Message-ID: <1132734375.5758.16.camel@localhost.localdomain> (raw)
In-Reply-To: <20051118223045.GA28401@us.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 1178 bytes --]

On Wed, 2005-11-23 at 00:13 +0100, Kay Sievers wrote:

> Scott sent a nice patch to remove the /dev/.udev.queue directory if it's
> empty. That makes it pretty easy to work around this:
>   start udevd
>   mkdir -p /dev/.udev/queue
>   trigger uevent's in /sys
>   while test -d /dev/.udev/queue; do sleep 0.1; done
> 
> The last event will just rmdir() the created queue directory.
> 
There's still a potential race here: if an event arrives after you've
created the queue directory and finishes just as you finish triggering
the uevents, but before the first triggered event gets queued, the queue
directory will be removed and the script won't wait.  

Looking through the kernel code it does look like it's almost
impossible, as the triggering of a uevent seems to not complete the
write() call until it's been posted down the netlink socket.

Almost isn't totally though; so it's there ... but it's such a remote
chance that I think it's fine for now, and the only real way to avoid
race conditions is just not to wait and arrange your entire boot
sequence to be event-driven rather than serial.

Scott
-- 
Scott James Remnant
scott@ubuntu.com

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2005-11-23  8:26 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-18 22:30 waiting for an unknown set of udev /dev entries to complete Patrick Mansfield
2005-11-20  6:03 ` Kay Sievers
2005-11-20 17:25 ` Patrick Mansfield
2005-11-20 18:23 ` Kay Sievers
2005-11-20 20:10 ` Pozsar Balazs
2005-11-20 20:23 ` Marco d'Itri
2005-11-20 23:32 ` Kay Sievers
2005-11-20 23:53 ` Kay Sievers
2005-11-21  0:01 ` Marco d'Itri
2005-11-22 23:13 ` Kay Sievers
2005-11-23  8:26 ` Scott James Remnant [this message]
2005-11-23 10:54 ` Pozsar Balazs
2005-11-23 16:27 ` Harald Hoyer
2005-11-23 16:50 ` Kay Sievers
2005-11-23 17:25 ` Pozsar Balazs
2005-11-23 17:46 ` Kay Sievers
2005-11-23 18:16 ` Pozsar Balazs
2005-11-23 18:39 ` Kay Sievers
2005-11-23 21:33 ` Patrick Mansfield
2005-11-28 22:09 ` Pozsar Balazs
2005-11-29 10:44 ` Kay Sievers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1132734375.5758.16.camel@localhost.localdomain \
    --to=scott@ubuntu.com \
    --cc=linux-hotplug@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).