Gentoo Archives: gentoo-commits

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/netifrc:master commit in: init.d/
Date: Tue, 14 Nov 2017 20:48:32
Message-Id: 1510686852.66dc589e7478dc380c038c29073d8e438d80ed93.robbat2@OpenRC
1 commit: 66dc589e7478dc380c038c29073d8e438d80ed93
2 Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
3 AuthorDate: Tue Nov 14 19:14:12 2017 +0000
4 Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 14 19:14:12 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/netifrc.git/commit/?id=66dc589e
7
8 init.d/net.lo: atomically create moduleslist.
9
10 Bug: https://bugs.gentoo.org/637474
11 Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
12
13 init.d/net.lo.in | 17 ++++++++++-------
14 1 file changed, 10 insertions(+), 7 deletions(-)
15
16 diff --git a/init.d/net.lo.in b/init.d/net.lo.in
17 index 33cc932..b78a342 100644
18 --- a/init.d/net.lo.in
19 +++ b/init.d/net.lo.in
20 @@ -353,21 +353,24 @@ _gen_module_list()
21 visit "${MODULE}"
22 done
23
24 - printf "" > "${MODULESLIST}"
25 + # Create atomically
26 + TMPMODULESLIST=${MODULESLIST}.$$
27 + printf "" > "${TMPMODULESLIST}"
28 i=0
29 for MODULE in ${SORTED}; do
30 eval PROGRAM=\$${MODULE}_program
31 eval PROGRAM_START=\$${MODULE}_program_start
32 eval PROGRAM_STOP=\$${MODULE}_program_stop
33 eval PROVIDE=\$${MODULE}_provide
34 - echo "module_${i}='${MODULE}'" >> "${MODULESLIST}"
35 - echo "module_${i}_program='${PROGRAM}'" >> "${MODULESLIST}"
36 - echo "module_${i}_program_start='${PROGRAM_START}'" >> "${MODULESLIST}"
37 - echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${MODULESLIST}"
38 - echo "module_${i}_provide='${PROVIDE}'" >> "${MODULESLIST}"
39 + echo "module_${i}='${MODULE}'" >> "${TMPMODULESLIST}"
40 + echo "module_${i}_program='${PROGRAM}'" >> "${TMPMODULESLIST}"
41 + echo "module_${i}_program_start='${PROGRAM_START}'" >> "${TMPMODULESLIST}"
42 + echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${TMPMODULESLIST}"
43 + echo "module_${i}_provide='${PROVIDE}'" >> "${TMPMODULESLIST}"
44 : $(( i += 1 ))
45 done
46 - echo "module_${i}=" >> "${MODULESLIST}"
47 + echo "module_${i}=" >> "${TMPMODULESLIST}"
48 + mv -f "${TMPMODULESLIST}" "${MODULESLIST}"
49 )
50
51 return 0