commit: 741f6b4ca936e4fc82c99145bb8ced457149d28e
Author: Tobias Klausmann <klausman <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 2 08:46:32 2016 +0000
Commit: Tobias Klausmann <klausman <AT> gentoo <DOT> org>
CommitDate: Sun Oct 2 08:48:39 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=741f6b4c
sys-process/cronbase: More fixes
The tr approach is racy, even with the test -r before it. Since tr can't
be told to read from a file and we can't redirect the subshell's warning
message, switch to sed and a file argument, then redirect stderr of
that.
.../cronbase/{cronbase-0.3.7-r3.ebuild => cronbase-0.3.7-r4.ebuild} | 0
sys-process/cronbase/files/run-crons-0.3.7 | 4 ++--
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-process/cronbase/cronbase-0.3.7-r3.ebuild
b/sys-process/cronbase/cronbase-0.3.7-r4.ebuild
similarity index 100%
rename from sys-process/cronbase/cronbase-0.3.7-r3.ebuild
rename to sys-process/cronbase/cronbase-0.3.7-r4.ebuild
diff --git a/sys-process/cronbase/files/run-crons-0.3.7
b/sys-process/cronbase/files/run-crons-0.3.7
index ce8ff76..958ef06 100755
--- a/sys-process/cronbase/files/run-crons-0.3.7
+++ b/sys-process/cronbase/files/run-crons-0.3.7
@@ -58,8 +58,8 @@ grab_lock() {
# another run-crons process.
# The tr call deletes null bytes so newer bash versions do not
complain
# about them.
- cmdline1=$([ -r "/proc/${cronpid}/cmdline" ] && tr -d '\0' <
"/proc/${cronpid}/cmdline" 2>/dev/null) || :
- cmdline2=$(tr -d '\0' < /proc/$$/cmdline)
+ cmdline1=$(sed -e 's/\0/ /g' "/proc/${cronpid}/cmdline"
2>/dev/null) || :
+ cmdline2=$(sed -e 's/\0/ /g' /proc/$$/cmdline)
if [ "${cmdline1}" = "${cmdline2}" ] ; then
# Whoa, another run-crons is really running.
return 1