Commit 5f2611d3 authored by unknown's avatar unknown

followup to max_user_connections fix, keep the count more accurate

parent 8507b00b
...@@ -303,14 +303,13 @@ static int check_for_max_user_connections(USER_CONN *uc) ...@@ -303,14 +303,13 @@ static int check_for_max_user_connections(USER_CONN *uc)
{ {
int error=0; int error=0;
DBUG_ENTER("check_for_max_user_connections"); DBUG_ENTER("check_for_max_user_connections");
(void) pthread_mutex_lock(&LOCK_user_conn); (void) pthread_mutex_lock(&LOCK_user_conn);
if (max_user_connections && if (max_user_connections &&
max_user_connections <= uc->connections) max_user_connections < uc->connections)
{ {
net_printf(&(current_thd->net),ER_TOO_MANY_USER_CONNECTIONS, uc->user); net_printf(&(current_thd->net),ER_TOO_MANY_USER_CONNECTIONS, uc->user);
error=1; error=1;
uc->connections--;
goto end; goto end;
} }
if (uc->user_resources.connections && if (uc->user_resources.connections &&
...@@ -324,6 +323,8 @@ static int check_for_max_user_connections(USER_CONN *uc) ...@@ -324,6 +323,8 @@ static int check_for_max_user_connections(USER_CONN *uc)
} }
uc->conn_per_hour++; uc->conn_per_hour++;
end: end:
if (error)
uc->connections--; // no need for decrease_user_connections() here
(void) pthread_mutex_unlock(&LOCK_user_conn); (void) pthread_mutex_unlock(&LOCK_user_conn);
DBUG_RETURN(error); DBUG_RETURN(error);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment