• Ingo Struewing's avatar
    WL#4259 - Debug Sync Facility · 21586dfb
    Ingo Struewing authored
    Backport from 6.0 to 5.1.
    Only those sync points are included, which are used in debug_sync.test.
    
      The Debug Sync Facility allows to place synchronization points
      in the code:
      
      open_tables(...)
      
      DEBUG_SYNC(thd, "after_open_tables");
      
      lock_tables(...)
      
      When activated, a sync point can
      
      - Send a signal and/or
      - Wait for a signal
      
      Nomenclature:
      
      - signal:            A value of a global variable that persists
                           until overwritten by a new signal. The global
                           variable can also be seen as a "signal post"
                           or "flag mast". Then the signal is what is
                           attached to the "signal post" or "flag mast".
      
      - send a signal:     Assign the value (the signal) to the global
                           variable ("set a flag") and broadcast a
                           global condition to wake those waiting for
                           a signal.
      
      - wait for a signal: Loop over waiting for the global condition until
                           the global value matches the wait-for signal.
      
      Please find more information in the top comment in debug_sync.cc
      or in the worklog entry.
    21586dfb
thr_lock.c 53.4 KB