Improve user name setting in DCB for persistent connections and to fix bug; change name of session_alloc_dummy to session_set_dummy to be more informative.
This commit is contained in:
@ -1845,9 +1845,6 @@ dcb_close(DCB *dcb)
|
||||
spinlock_acquire(&zombiespin);
|
||||
if (!dcb->dcb_is_zombie)
|
||||
{
|
||||
char *user;
|
||||
user = session_getUser(dcb->session);
|
||||
if (NULL != user) dcb->user = strdup(user);
|
||||
/*<
|
||||
* Add closing dcb to the top of the list, setting zombie marker
|
||||
*/
|
||||
@ -1873,8 +1870,10 @@ static bool
|
||||
dcb_maybe_add_persistent(DCB *dcb)
|
||||
{
|
||||
int poolcount = -1;
|
||||
if (dcb->user != NULL
|
||||
&& strlen(dcb->user)
|
||||
char *user;
|
||||
user = session_getUser(dcb->session);
|
||||
if (user != NULL
|
||||
&& strlen(user)
|
||||
&& dcb->server
|
||||
&& dcb->server->persistpoolmax
|
||||
&& !dcb->dcb_errhandle_called
|
||||
@ -1888,6 +1887,8 @@ dcb_maybe_add_persistent(DCB *dcb)
|
||||
dcb->user)));
|
||||
dcb->dcb_is_zombie = false;
|
||||
dcb->persistentstart = time(NULL);
|
||||
if (dcb->user) free(dcb->user);
|
||||
dcb->user = strdup(user);
|
||||
spinlock_acquire(&dcb->server->persistlock);
|
||||
dcb->nextpersistent = dcb->server->persistent;
|
||||
dcb->server->persistent = dcb;
|
||||
|
Reference in New Issue
Block a user