ChangeLog
75.5 KB
-
Make recursion_check work for multiple threads · f4c0f888
With multiple threads, using an unprotected static variable to check whether recursion has occured isn't valid, as one thread might have modified the variable, thus causing another thread to incorrectly conclude that recursion has occured. This patch avoids this problem by using a thread-specific variable for the recursion check. Regtested on x86_64-pc-linux-gnu. libgfortran/ChangeLog: 2018-11-23 Janne Blomqvist <jb@gcc.gnu.org> * runtime/error.c (MAGIC): Remove. (recursion_key): New variable. (recursion_check): Use thread-specific variable for recursion check if threads are active. (constructor_recursion_check): New function. (destructor_recursion_check): New funcion. From-SVN: r266419
Janne Blomqvist committed