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:
counterpoint
2015-08-28 18:20:18 +01:00
parent f1c3b65b15
commit a711b25fec
4 changed files with 9 additions and 8 deletions

View File

@ -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;