From d5ee712ea0a8e8c782ee50c7a8f7e51448173aab Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 10 Feb 2010 22:05:24 +0100 Subject: initial import of event based bbinit script (still not included in the real init) --- boot-env/pbs/uclib-rootfs/bin/handleEvents | 38 ++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 boot-env/pbs/uclib-rootfs/bin/handleEvents (limited to 'boot-env/pbs/uclib-rootfs/bin/handleEvents') diff --git a/boot-env/pbs/uclib-rootfs/bin/handleEvents b/boot-env/pbs/uclib-rootfs/bin/handleEvents new file mode 100755 index 00000000..9bb78951 --- /dev/null +++ b/boot-env/pbs/uclib-rootfs/bin/handleEvents @@ -0,0 +1,38 @@ +#!/bin/hush + +# wait for lock +while [ -f /tmp/bbinit.lock ] +do + sleep 0.1 +done + +# lock eventhandler +touch /tmp/bbinit.lock + +# source list of finished events +[ -f /tmp/events ] && . /tmp/events + +# go through all unhandled events +for f in $( ls -1 /etc/events.d/ ) +do + . /etc/events.d/$f + + # check dependencies + eval dep=\$${f}_depends + havealldeps=1 + for d in $dep + do + eval havedep=\$have${d} + [ "x$havedep" == "x1" ] || havealldeps=0 + done + + # if nothing is missing execute script + if [ "x$havealldeps" == "x1" ]; then + echo executing $f + /etc/bbinit.d/$f & + rm /etc/events.d/$f + fi +done + +# unlock eventhandler +rm /tmp/bbinit.lock -- cgit v1.2.3-55-g7522