Commit 6033db36 authored by Kristofer Pettersson's avatar Kristofer Pettersson
Browse files

auto merge

parents 8ce74569 ccd534c3
Loading
Loading
Loading
Loading
+24 −7
Original line number Diff line number Diff line
@@ -7069,11 +7069,23 @@ bool reload_acl_and_cache(THD *thd, ulong options, TABLE_LIST *tables,
      thd->thread_stack= (char*) &tmp_thd;
      thd->store_globals();
    }
    
    if (thd)
    {
      (void)acl_reload(thd);
      (void)grant_reload(thd);
      bool reload_acl_failed= acl_reload(thd);
      bool reload_grants_failed= grant_reload(thd);

      if (reload_acl_failed || reload_grants_failed)
      {
        result= 1;
        /*
          When an error is returned, my_message may have not been called and
          the client will hang waiting for a response.
        */
        my_error(ER_UNKNOWN_ERROR, MYF(0), "FLUSH PRIVILEGES failed");
      }
    }

    if (tmp_thd)
    {
      delete tmp_thd;
@@ -7159,8 +7171,10 @@ bool reload_acl_and_cache(THD *thd, ulong options, TABLE_LIST *tables,
      tmp_write_to_binlog= 0;
      if (lock_global_read_lock(thd))
	return 1;                               // Killed
      result=close_cached_tables(thd,(options & REFRESH_FAST) ? 0 : 1,
                                 tables);
      if (close_cached_tables(thd,(options & REFRESH_FAST) ? 0 : 1,
                                 tables))
          result= 1;
      
      if (make_global_read_lock_block_commit(thd)) // Killed
      {
        /* Don't leave things in a half-locked state */
@@ -7169,7 +7183,10 @@ bool reload_acl_and_cache(THD *thd, ulong options, TABLE_LIST *tables,
      }
    }
    else
      result=close_cached_tables(thd,(options & REFRESH_FAST) ? 0 : 1, tables);
    {
      if (close_cached_tables(thd,(options & REFRESH_FAST) ? 0 : 1, tables))
        result= 1;
    }
    my_dbopt_cleanup();
  }
  if (options & REFRESH_HOSTS)
@@ -7193,8 +7210,8 @@ bool reload_acl_and_cache(THD *thd, ulong options, TABLE_LIST *tables,
#ifdef OPENSSL
   if (options & REFRESH_DES_KEY_FILE)
   {
     if (des_key_file)
       result=load_des_key_file(des_key_file);
     if (des_key_file && load_des_key_file(des_key_file))
         result= 1;
   }
#endif
#ifdef HAVE_REPLICATION