Functions | |
void | broadcast_refresh (void) |
Broadcast COND_refresh and COND_global_read_lock.
Due to a bug in a threading library it could happen that a signal did not reach its target. A condition for this was that the same condition variable was used with different mutexes in pthread_cond_wait(). Some time ago we changed table::Cache::singleton().mutex() to LOCK_global_read_lock in global read lock handling. So COND_refresh was used with table::Cache::singleton().mutex() and LOCK_global_read_lock.
We did now also change from COND_refresh to COND_global_read_lock in global read lock handling. But now it is necessary to signal both conditions at the same time.