title: Are static inline functions thread safe?
body: <p>Scenario: I have written a big piece of code, running on 2 parallel threads, which are identical in term of code and just process different data. I am seeing non-deterministic results. If I disable one of the 2 threads, the results become deterministic. Within this code I am using some static inline functions (main reason: they are small functions that I need here and there, for which I simply duplicate the code in the translation units where they are needed), and I would like to understand if they could be a possible cause of my problem.</p>
  
  <p>Are static inline functions thread-safe in C? Said the other way around, if they have no static variable inside, but only some local variables and the input parameters, will a simultaneous call from the 2 threads cause unpredictable behaviour?</p>