diff options
author | Sebastian | 2010-02-10 22:05:24 +0100 |
---|---|---|
committer | Sebastian | 2010-02-10 22:05:24 +0100 |
commit | d5ee712ea0a8e8c782ee50c7a8f7e51448173aab (patch) | |
tree | d68b18484462499862ffe9a0aa5402a33e9f8b98 /boot-env/pbs/uclib-rootfs/bin/handleEvents | |
parent | hack to enable loading of virtio_net after virtio_pci, maybe nex time via mod... (diff) | |
download | core-d5ee712ea0a8e8c782ee50c7a8f7e51448173aab.tar.gz core-d5ee712ea0a8e8c782ee50c7a8f7e51448173aab.tar.xz core-d5ee712ea0a8e8c782ee50c7a8f7e51448173aab.zip |
initial import of event based bbinit script (still not included in the real init)
Diffstat (limited to 'boot-env/pbs/uclib-rootfs/bin/handleEvents')
-rwxr-xr-x | boot-env/pbs/uclib-rootfs/bin/handleEvents | 38 |
1 files changed, 38 insertions, 0 deletions
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 |