• Arkadiusz Hiler's avatar
    xinput1_3: Hold module reference while the hid thread is running. · 10a0a8ea
    Arkadiusz Hiler authored
    We have no means of stopping the thread from DllMain on
    DLL_PROCESS_DETACH without having a race condition - waiting on the
    thread itself is not an option due to the loader lock.
    
    The best we can do is just never unload the DLL as long as the thread is
    active which is forever.
    
    This fixes crashes in Mighty Switch Force! Collection while controllers
    are unplugged - the game loads and frees xinput in a loop.
    10a0a8ea
main.c 42.8 KB