From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 277A51396D9 for ; Tue, 14 Nov 2017 20:48:32 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 621E1E0EC0; Tue, 14 Nov 2017 20:48:31 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 44735E0EC0 for ; Tue, 14 Nov 2017 20:48:31 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 60E2433E4AD for ; Tue, 14 Nov 2017 20:48:30 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 908FD9ACF for ; Tue, 14 Nov 2017 20:48:28 +0000 (UTC) From: "Robin H. Johnson" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Robin H. Johnson" Message-ID: <1510686852.66dc589e7478dc380c038c29073d8e438d80ed93.robbat2@OpenRC> Subject: [gentoo-commits] proj/netifrc:master commit in: init.d/ X-VCS-Repository: proj/netifrc X-VCS-Files: init.d/net.lo.in X-VCS-Directories: init.d/ X-VCS-Committer: robbat2 X-VCS-Committer-Name: Robin H. Johnson X-VCS-Revision: 66dc589e7478dc380c038c29073d8e438d80ed93 X-VCS-Branch: master Date: Tue, 14 Nov 2017 20:48:28 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: c256d1b8-d5a9-4350-a72c-ee1134c1fe30 X-Archives-Hash: 4f01c6db3f9d7df54c31325baab91a96 commit: 66dc589e7478dc380c038c29073d8e438d80ed93 Author: Robin H. Johnson gentoo org> AuthorDate: Tue Nov 14 19:14:12 2017 +0000 Commit: Robin H. Johnson gentoo org> CommitDate: Tue Nov 14 19:14:12 2017 +0000 URL: https://gitweb.gentoo.org/proj/netifrc.git/commit/?id=66dc589e init.d/net.lo: atomically create moduleslist. Bug: https://bugs.gentoo.org/637474 Signed-off-by: Robin H. Johnson gentoo.org> init.d/net.lo.in | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/init.d/net.lo.in b/init.d/net.lo.in index 33cc932..b78a342 100644 --- a/init.d/net.lo.in +++ b/init.d/net.lo.in @@ -353,21 +353,24 @@ _gen_module_list() visit "${MODULE}" done - printf "" > "${MODULESLIST}" + # Create atomically + TMPMODULESLIST=${MODULESLIST}.$$ + printf "" > "${TMPMODULESLIST}" i=0 for MODULE in ${SORTED}; do eval PROGRAM=\$${MODULE}_program eval PROGRAM_START=\$${MODULE}_program_start eval PROGRAM_STOP=\$${MODULE}_program_stop eval PROVIDE=\$${MODULE}_provide - echo "module_${i}='${MODULE}'" >> "${MODULESLIST}" - echo "module_${i}_program='${PROGRAM}'" >> "${MODULESLIST}" - echo "module_${i}_program_start='${PROGRAM_START}'" >> "${MODULESLIST}" - echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${MODULESLIST}" - echo "module_${i}_provide='${PROVIDE}'" >> "${MODULESLIST}" + echo "module_${i}='${MODULE}'" >> "${TMPMODULESLIST}" + echo "module_${i}_program='${PROGRAM}'" >> "${TMPMODULESLIST}" + echo "module_${i}_program_start='${PROGRAM_START}'" >> "${TMPMODULESLIST}" + echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${TMPMODULESLIST}" + echo "module_${i}_provide='${PROVIDE}'" >> "${TMPMODULESLIST}" : $(( i += 1 )) done - echo "module_${i}=" >> "${MODULESLIST}" + echo "module_${i}=" >> "${TMPMODULESLIST}" + mv -f "${TMPMODULESLIST}" "${MODULESLIST}" ) return 0