• Vladislav Vaintroub's avatar
    Windows improvements : manual backport of · 2bc1930c
    Vladislav Vaintroub authored
    htttp://lists.mysql.com/commits/50957?f=plain
          
    Always use TLS functions instead of __declspec(thread) to access 
    thread local storage variables.
    The change removes the necessity to recomplile the same source
    files twice -  with USE_TLS for DLLs and without USE_TLS for EXEs.
    Real benefit of this change is better readability and maintainability
    of TLS functions within MySQL.
                  
    There is a performance loss using TlsXXX functions compared to __declspec 
    but the difference is negligible in practice. In a sysbench-like benchmark 
    I ran with with TlsGetValue, pthread_[get|set]_specific was called 600000000 
    times and took 0.17sec of total 35min CPU time, or 0.008%.
    2bc1930c
my_winthread.c 3.74 KB