Wieso denn das? Es ist zwar nicht schön so wie im Moment, aber
darf und
muss ist
IMHO die falsche Wortwahl.
Ruft doch einmal die Funktion(en) gleichzeitig auf, welche die selbenglobale Variable nutzen.
Muß nicht gleich multithread sein ... rekursive Aufrufe reichen schon aus.
Variablen
muß man also immer so nah wie möglich an deren Verwendungsort, bzw. an deren Gültigkeitsbereich deklarieren.