commit: d2d619f187661a12b4ed0dfed504fba057251f92 Author: Tobias Klausmann <klausman <AT> gentoo <DOT> org> AuthorDate: Mon Oct 3 17:17:57 2016 +0000 Commit: Tobias Klausmann <klausman <AT> gentoo <DOT> org> CommitDate: Mon Oct 3 17:19:08 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2d619f1
sys-process/cronbase: Fix the parall-job check once and for all. Thanks to Dan Goodliffe for suggesting this approach. Gentoo-Bug: 595492 .../cronbase/{cronbase-0.3.7-r4.ebuild => cronbase-0.3.7-r5.ebuild} | 0 sys-process/cronbase/files/run-crons-0.3.7 | 6 +----- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/sys-process/cronbase/cronbase-0.3.7-r4.ebuild b/sys-process/cronbase/cronbase-0.3.7-r5.ebuild similarity index 100% rename from sys-process/cronbase/cronbase-0.3.7-r4.ebuild rename to sys-process/cronbase/cronbase-0.3.7-r5.ebuild diff --git a/sys-process/cronbase/files/run-crons-0.3.7 b/sys-process/cronbase/files/run-crons-0.3.7 index 958ef06..902794e 100755 --- a/sys-process/cronbase/files/run-crons-0.3.7 +++ b/sys-process/cronbase/files/run-crons-0.3.7 @@ -56,11 +56,7 @@ grab_lock() { # This is better than kill -0 because we can verify that it's really # another run-crons process. - # The tr call deletes null bytes so newer bash versions do not complain - # about them. - cmdline1=$(sed -e 's/\0/ /g' "/proc/${cronpid}/cmdline" 2>/dev/null) || : - cmdline2=$(sed -e 's/\0/ /g' /proc/$$/cmdline) - if [ "${cmdline1}" = "${cmdline2}" ] ; then + if diff -qs /proc/{${cronpid},$$}/cmdline > /dev/null 2>&1; then # Whoa, another run-crons is really running. return 1 fi