static void update_logging()

in plugin/server_audit/server_audit.cc [2459:2488]


static void update_logging(MYSQL_THD thd,
              struct SYS_VAR *var  __attribute__((unused)),
              void *var_ptr  __attribute__((unused)), const void *save)
{
  bool new_logging_enabled = *(const bool *) save;
  if (new_logging_enabled == logging)
    return;

  ADD_ATOMIC(internal_stop_logging, 1);
  mysql_prlock_wrlock(&lock_operations);

  logging= new_logging_enabled;
  if (logging)
  {
    start_logging();
    if (!logging)
    {
      CLIENT_ERROR(1, "Logging was disabled.", MYF(ME_WARNING));
    }
    mark_always_logged(thd);
  }
  else
  {
    log_current_query(thd);
    stop_logging();
  }

  mysql_prlock_unlock(&lock_operations);
  ADD_ATOMIC(internal_stop_logging, -1);
}