From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rainer Dorsch Date: Sat, 01 Jan 2005 23:03:46 +0000 Subject: hotplug and test and set Message-Id: <200501020003.46376.rdorsch@web.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org Hello, I have an Epox DG02A usb dongle for bluetooth. $ ls usbview [...] Bus 003 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle I added a script to start pand into my /etc/hotplug.d/usb directory on my Debian system. rd@topsi:~$ cat /etc/hotplug.d/usb/epox-bluetooth.hotplug #!/bin/sh pidfile=/var/run/pand.pid lockfile=/var/lock/pand.lock DAEMON=/usr/bin/pand case `echo $PRODUCT|cut -d / -f 1-2` in # a12/1/525 and a12/1/828 have been seen for the Epox BT DB02A a12/1) break ;; *) exit ;; esac case $TYPE in 224/1/1) break ;; *) exit ;; esac case $ACTION in add) # poor man's locking if [ ! -e $lockfile ]; then touch $lockfile echo entered locked area >> /tmp/epox.log hcitool scan >> /tmp/epox.log sleep 1 start-stop-daemon --start --exec $DAEMON -- --nodetach --role PANU --search --encrypt --pidfile $pidfile fi ;; remove) start-stop-daemon --stop --exec $DAEMON --pidfile $pidfile rm $lockfile ifdown bnep0 ;; esac rd@topsi:~$ My problem is that this script is called four times when the dongle is plugged in. I order to avoid to call pand four times, I added a poor test and set to the script to add a lock when a pand is running. Does anybody know, what I could do to get a better locking behaviour, e.g. an atomic test and set? Many thanks, Rainer -- Rainer Dorsch Alzentalstr. 28 D-71083 Herrenberg 07032-919495 Icq: 32550367 ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ 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