• unknown's avatar
    Bug#25042 OPTIMIZE TABLE cause race condition in IO CACHE SHARE · e8dc3e48
    unknown authored
    - The condition variable implementation "lost" a signal to
      WaitOnSingleObject when a semaphore was released.
    - The signal could be consumed by a new call to pthread_cond_wait
      before all waiting threads had awoken.
    - The new implementation of pthread_cond_* uses events
      instead of semaphores. It also uses an extra lock to protect entry
      into new cond wait before the broadcast has finished.
    
    
    include/my_pthread.h:
      - New implementatin of pthread_cond_init. This version uses events
        instead of semaphores
    mysys/my_wincond.c:
      - New implementatin of pthread_cond_init. This version uses events
        instead of semaphores
    e8dc3e48
my_wincond.c 6.25 KB