• Vladislav Vaintroub's avatar
    Fixed type defintion for os_thread_id_t on 64 bit Windows. · 00182614
    Vladislav Vaintroub authored
    It used to be declared as ulint, which is 32/64 bit integer depending on OS bitness.
    However this declaration lead to problems with os_compare_and_swap_thread_id 
    implementation which operated on 32 bit integers (InterlockedCompareExchange)
    
    Using 64 bit int   lead to  wrong result in os_compare_and_swap_thread_id 
    and to crash/assertion in  rw_lock_set_writer_id_and_recursion_flag()
    
    The fix is to use 4 byte integer to os_thread_id type definition.
    00182614
os0thread.h 5.15 KB