Hi, Kristian,

Mostly ok, but I'd prefer not to access max_binlog_size without any
protection, so suggest to do something like

   ulong saved= max_binlog_size;
   mysql_mutex_unlock(&LOCK_global_system_variables);
   mysql_bin_log.set_max_size(saved);
   mysql_mutex_lock(&LOCK_global_system_variables);

On Jan 08, Kristian Nielsen wrote:
> revision-id: 87188cd3309 (mariadb-10.6.20-47-g87188cd3309)
> parent(s): 7372ecc3965
> author: Kristian Nielsen
> committer: Kristian Nielsen
> timestamp: 2024-12-05 09:51:17 +0100
> message:
> 
> MDEV-29744: Fix incorrect locking order of LOCK_log/LOCK_commit_ordered and 
> LOCK_global_system_variables
> 
> --- a/sql/sys_vars.cc
> +++ b/sql/sys_vars.cc
> @@ -1660,7 +1660,9 @@ Sys_max_binlog_stmt_cache_size(
>  
>  static bool fix_max_binlog_size(sys_var *self, THD *thd, enum_var_type type)
>  {
> +  mysql_mutex_unlock(&LOCK_global_system_variables);
>    mysql_bin_log.set_max_size(max_binlog_size);
> +  mysql_mutex_lock(&LOCK_global_system_variables);
>    return false;
>  }
>  static Sys_var_on_access_global<Sys_var_ulong,
 
Regards,
Sergei
Chief Architect, MariaDB Server
and secur...@mariadb.org
_______________________________________________
developers mailing list -- developers@lists.mariadb.org
To unsubscribe send an email to developers-le...@lists.mariadb.org

Reply via email to