First changes for lazy session creation.

This commit is contained in:
Martin Brampton
2015-08-23 16:39:08 +01:00
parent 087c2fca46
commit 1baf693b02
2 changed files with 17 additions and 47 deletions

View File

@ -363,38 +363,21 @@ GWPROTOCOL *funcs;
if (port->listener->func.listen(port->listener, config_bind))
{
port->listener->session = session_alloc(service, port->listener);
if (port->listener->session != NULL)
{
port->listener->session->state = SESSION_STATE_LISTENER;
listeners += 1;
}
else
{
LOGIF(LE, (skygw_log_write_flush(
LOGFILE_ERROR,
"Error : Failed to create session to service %s.",
service->name)));
users_free(service->users);
dcb_close(port->listener);
port->listener = NULL;
goto retblock;
}
}
else
{
LOGIF(LE, (skygw_log_write_flush(
LOGFILE_ERROR,
listeners += 1;
/* If lazy session creation fails, how does listeners get decremented? */
}
else
{
LOGIF(LE, (skygw_log_write_flush(
LOGFILE_ERROR,
"Error : Unable to start to listen port %d for %s %s.",
port->port,
port->protocol,
service->name)));
users_free(service->users);
dcb_close(port->listener);
port->listener = NULL;
}
port->protocol,
service->name)));
users_free(service->users);
dcb_close(port->listener);
port->listener = NULL;
}
retblock:
return listeners;