annotate scripts/src-version.sh @ 268:f2e52cab0a73

abb_inth.c: check all interrupt causes, not just one The original code used if - else if - else if etc constructs, thus the first detected interrupt was the only one handled. However, Iota ITSTATREG is a clear-on-read register, thus if we only handle the first detected interrupt and skip checking the others, then the other interrupts will be lost, if more than one interrupt happened to occur in one ABB interrupt handling cycle - a form of rare race condition. Change the code to check all interrupts that were read in this cycle.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 13 Jun 2021 18:17:53 +0000
parents 84160e9a0383
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 #!/bin/sh
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 tmpfile=/tmp/fc_hg_id$$
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 hg id -in > $tmpfile 2> /dev/null
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 if [ $? != 0 ]
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 then
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 rm -f $tmpfile
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 echo unknown
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 exit 0
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 fi
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 read global local < $tmpfile
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 rm -f $tmpfile
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 global_noplus=`echo $global | tr -d +`
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 local_noplus=`echo $local | tr -d +`
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 if [ "$global" = "$global_noplus" -a "$local" = "$local_noplus" ]
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 then
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 dirty=
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 else
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 dirty=-dirty
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 fi
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
84160e9a0383 scripts/src-version.sh: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 echo $local_noplus:$global_noplus$dirty