From: "Adam J. Richter" <adam@yggdrasil.com>
To: linux-hotplug@vger.kernel.org
Subject: Re: Adding PCMCIA support to the kernel tree -- developers needed.
Date: Wed, 07 Feb 2001 02:38:02 +0000 [thread overview]
Message-ID: <marc-linux-hotplug-98151356329035@msgid-missing> (raw)
In-Reply-To: <marc-linux-hotplug-98118528107653@msgid-missing>
>> = Andrew Morton <morton@nortelnetworks.com>
> = Oliver Neukum <Oliver.Neukum@lrz.uni-muenchen.de>
>> You're right, it _can_ be done by synthesizing hotpluf
>> events from the initscripts. In fact, that's how it
>> must be done.
>
>I am afraid it cannot be simply done from the init scripts.
>Simply parsing proc has an unavoidable race condition.
>You need to lock it.
>
> HTH
> Oliver
I said, "scan the bus *after* initializing the hot plugging
support and deal with devices that are already plugged in [...]"
You may process a device twice this way, but user level software
can detect this and synchronize when this is really necessary. In
most cases, you just want to modprobe a module, which can safely be
done multiple times, so it is not necessary to bother checking.
Also, since the races are done once the init script completes
(before any user logs in), you can safely do things like load the
saved device settings without worrying about clobbering any work done
before.
In cases where you really need to avoid doing something twice
(such as spawning a dhcp client on an ethernet port), you can do your
synchronization at user level, by something like:
# "insert" script
netif=$1 # For example "eth0"
# /var/run was previous cleared earlier in the boot process, so
# we know that if this directory exists, we have been called
# twice.
if mkdir /var/run/$netif ; then
dhclient -pf /var/run/$netif/pid $netif &
fi
# "remove" script
netif=$1 # For example "eth0"
kill $(cat /var/run/netif/$netif/pid)
rm -rf /var/run/$netif
Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104
adam@yggdrasil.com \ / San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l United States of America
fax +1 408 261-6631 "Free Software For The Rest Of Us."
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
next prev parent reply other threads:[~2001-02-07 2:38 UTC|newest]
Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-02-03 7:28 Adding PCMCIA support to the kernel tree -- developers needed Miles Lane
2001-02-03 10:07 ` Jeff Garzik
2001-02-03 19:27 ` David Woodhouse
2001-02-03 23:59 ` Miles Lane
2001-02-04 0:00 ` David Hinds
2001-02-04 0:05 ` David Woodhouse
2001-02-04 1:19 ` David Brownell
2001-02-04 1:58 ` Miles Lane
2001-02-04 3:26 ` Keith Owens
2001-02-04 5:59 ` Miles Lane
2001-02-04 8:56 ` David Hinds
2001-02-04 9:55 ` David Woodhouse
2001-02-04 10:00 ` David Woodhouse
2001-02-04 10:10 ` Oliver Neukum
2001-02-04 10:53 ` David Woodhouse
2001-02-04 11:37 ` David Woodhouse
2001-02-04 17:34 ` David Hinds
2001-02-04 18:02 ` Miles Lane
2001-02-04 18:16 ` Oliver Neukum
2001-02-04 18:54 ` Miles Lane
2001-02-05 1:14 ` Jeff Garzik
2001-02-05 1:56 ` David Brownell
2001-02-05 2:43 ` Miles Lane
2001-02-05 8:42 ` Miles Lane
2001-02-05 10:01 ` Keith Owens
2001-02-05 10:13 ` Keith Owens
2001-02-05 23:43 ` David Woodhouse
2001-02-05 23:45 ` David Woodhouse
2001-02-05 23:59 ` Oliver Neukum
2001-02-06 0:27 ` Miles Lane
2001-02-06 1:10 ` David Brownell
2001-02-06 1:40 ` David Brownell
2001-02-06 6:55 ` Miles Lane
2001-02-06 7:11 ` David Woodhouse
2001-02-06 7:58 ` David Hinds
2001-02-06 8:02 ` David Hinds
2001-02-06 8:13 ` David Hinds
2001-02-06 9:51 ` Oliver Neukum
2001-02-06 13:46 ` Andrew Morton
2001-02-06 15:15 ` Jeff Garzik
2001-02-06 15:20 ` David Woodhouse
2001-02-06 15:33 ` Oliver Neukum
2001-02-06 15:35 ` David Woodhouse
2001-02-06 15:54 ` Oliver Neukum
2001-02-06 16:43 ` Jeff Garzik
2001-02-06 18:56 ` David Brownell
2001-02-06 19:22 ` David Brownell
2001-02-06 19:31 ` David Brownell
2001-02-06 22:09 ` Adam J. Richter
2001-02-06 22:10 ` Andrew Morton
2001-02-06 22:50 ` Oliver Neukum
2001-02-06 23:07 ` Andrew Morton
2001-02-06 23:12 ` Andrew Morton
2001-02-06 23:14 ` Andrew Morton
2001-02-06 23:20 ` David Woodhouse
2001-02-06 23:30 ` Oliver Neukum
2001-02-06 23:34 ` Oliver Neukum
2001-02-06 23:36 ` Andrew Morton
2001-02-07 1:33 ` David Brownell
2001-02-07 2:11 ` Miles Lane
2001-02-07 2:38 ` Adam J. Richter [this message]
2001-02-07 9:02 ` Oliver Neukum
2001-02-07 9:09 ` Vojtech Pavlik
2001-02-07 9:10 ` David Woodhouse
2001-02-07 9:35 ` Oliver Neukum
2001-02-07 9:37 ` Vojtech Pavlik
2001-02-07 9:57 ` Oliver Neukum
2001-02-07 10:11 ` Vojtech Pavlik
2001-02-07 10:27 ` David Woodhouse
2001-02-07 10:29 ` Oliver Neukum
2001-02-07 10:30 ` David Woodhouse
2001-02-07 14:45 ` Oliver Neukum
2001-02-07 15:19 ` Adam J. Richter
2001-02-07 16:11 ` Oliver Neukum
2001-02-07 17:37 ` Miles Lane
2001-02-07 17:48 ` Vojtech Pavlik
2001-02-07 18:24 ` David Brownell
2001-02-07 18:42 ` David Brownell
2001-02-07 18:47 ` David Brownell
2001-02-07 18:47 ` Oliver Neukum
2001-02-07 19:00 ` David Brownell
2001-02-07 19:29 ` Vojtech Pavlik
2001-02-07 19:59 ` Miles Lane
2001-02-07 21:02 ` Oliver Neukum
2001-02-07 21:14 ` David Brownell
2001-02-07 22:43 ` Oliver Neukum
2001-02-08 7:22 ` Miles Lane
2001-02-08 9:29 ` Adam J. Richter
2001-02-08 10:24 ` Oliver Neukum
2001-02-08 12:47 ` Andrew Morton
2001-02-08 13:22 ` Oliver Neukum
2001-02-08 13:49 ` Andrew Morton
2001-02-08 14:07 ` Oliver Neukum
2001-02-08 15:00 ` Vojtech Pavlik
2001-02-08 15:10 ` Vojtech Pavlik
2001-02-08 15:13 ` Vojtech Pavlik
2001-02-09 7:42 ` Vojtech Pavlik
2001-02-09 11:48 ` Oliver Neukum
2001-02-09 12:45 ` Vojtech Pavlik
2001-02-09 13:09 ` Oliver Neukum
2001-02-09 14:15 ` David Brownell
2001-02-09 15:45 ` Vojtech Pavlik
2001-02-26 17:47 ` David Brownell
2001-02-26 21:45 ` Chris Brand
2001-02-27 7:56 ` David Hinds
2001-02-28 16:56 ` David Brownell
2001-02-28 17:32 ` David Hinds
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=marc-linux-hotplug-98151356329035@msgid-missing \
--to=adam@yggdrasil.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).