• marko's avatar
    branches/zip: Add instrumentation for prohibiting the release of · 7ac6a343
    marko authored
    the buffer pool mutex.  The instrumentation can be activated by
    defining UNIV_DEBUG or UNIV_BUF_DEBUG at compilation time.
    
    buf_pool_mutex_exit_forbidden: New variable.  When this is nonzero,
    an assertion will fail in buf_pool_mutex_exit().
    
    buf_pool_mutex_exit_forbid(): Macro for declaring that the buffer pool
    mutex must not be released.  Calls may be nested.
    
    buf_pool_mutex_exit_allow(): Macro for declaring that the buffer pool
    mutex may be released.  Calls may be nested.
    
    buf_LRU_search_and_free_block(): Prohibit buf_pool_mutex_exit() in the
    scope of the function.
    
    buf_LRU_free_block(): Prohibit buf_pool_mutex_exit() in buf_buddy_alloc()
    and buf_buddy_free().
    
    buf_LRU_block_remove_hashed_page(): Prohibit buf_pool_mutex_exit()
    in buf_buddy_free().
    7ac6a343
buf0buf.c 95.8 KB