From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrien Beau Date: Sat, 21 Jun 2003 16:11:00 +0000 Subject: Re: Hotplug bug in Linux 2.4.21? Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org On Friday 20 June 2003 21:18, Kevin P. Fleming wrote: > > Adrien Beau wrote: > > * When two instances of the script are run at a few seconds > > interval, the lockfile mechanism works fine (again, see for > > example June 17th), but when three instances run at the same > > time, the mechanism fails in an impossible manner (see the > > log entries starting on June 20th, at 12:15pm for the first > > occurence of this, and see the entries at 12:55:55pm for an > > occurence with the timestamps printed in the logs). > > I suspect your problem is that you are using timestamps for > this log checking, and the timestamp granularity is too coarse. It is coarse, but it shouldn't matter: if the two timestamps are equal, or off by one, their difference is obviously less than 60 seconds. The script should then consider there's a fresh lockfile, and should bail out. This is what it does when two scripts are run at a few seconds interval. My problem is that the script manages to find that the lockfile exists, manages to read the timestamp from the logfile, but then somehow decides that the difference between the timestamp and the current time is more than 60 seconds! However, as the logfile shows, the difference is never more than 1 second. Something weird is happening behind the scenes. > When the USB core decides to generate hotplug events for all > three interfaces of a device it just found, those three > /sbin/hotplug invocations are going to happen very quickly, > certainly within a small fraction of a second. This is what happens indeed. > You'll need to find some other way of knowing when a lockfile > exists and is stale... something that can handle more than one > process that is started at identical times (or nearly so). Even with the very short interval between them, the scripts find without error that the lockfile exists, and read it without error. However, they then go to decide that 1 is greater than 60, and *that*, I can't understand. I'm going to put some sleep(1) at appropriate places and see if this helps. -- adrien.beau@free.fr - http://adrien.beau.free.fr/ ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel