From: Harald Hoyer Date: Tue, 6 Oct 2009 16:09:40 +0000 (+0200) Subject: 99base/initqueue: make operations more atomic X-Git-Tag: 003~113 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=16da29bf9d35e75d82ad6201df0206e78ba636f1;p=thirdparty%2Fdracut.git 99base/initqueue: make operations more atomic --- diff --git a/modules.d/99base/initqueue b/modules.d/99base/initqueue index 50c48defa..e5246ee40 100755 --- a/modules.d/99base/initqueue +++ b/modules.d/99base/initqueue @@ -25,12 +25,17 @@ else job=${job##*/} fi + if [ -n "$onetime" ]; then - echo '[ -e "$job" ] && rm "$job"' > "/tmp/${job}.sh" - echo "$@" >> "/tmp/${job}.sh" + { + echo '[ -e "$job" ] && rm "$job"' + echo "$@" + } > "/tmp/$$-${job}.sh" else - echo "$@" > "/tmp/${job}.sh" + echo "$@" > "/tmp/$$-${job}.sh" fi -mv -f "/tmp/${job}.sh" /initqueue${settled}/ +mv -f "/tmp/$$-${job}.sh" "/initqueue${settled}/${job}.sh" [ -z "$settled" ] && >> /initqueue/work +; +