fixed bugs with thread functions calling thread-unsave functions
authorHolger Schemel <info@artsoft.org>
Wed, 23 Jun 2021 08:48:52 +0000 (10:48 +0200)
committerHolger Schemel <info@artsoft.org>
Wed, 23 Jun 2021 08:57:26 +0000 (10:57 +0200)
commite654b56b53a09f9ab45331ef38883f6668f6bd49
treea3e582fab94ae361c9965892f314a299ea137db0
parent2039565fc917d862b03755c0172f448e73259ee6
fixed bugs with thread functions calling thread-unsave functions

This change fixes potential problems with static values returned by
functions that are not thread-safe (filenames of score cache files
and score tape filenames, which change with each invocation of these
functions). Additionally, more problems can (and likely will) happen
with using global variables (score data of last added score entry),
which are changed in the main process while the thread function is
using them.

To fix this, all relevant data is copied to a structure which is then
exclusively used by the corresponding thread function.
src/files.c