diff --git a/server/modules/include/mysql_client_server_protocol.h b/server/modules/include/mysql_client_server_protocol.h index 834dbafcb..3eb96f7e4 100644 --- a/server/modules/include/mysql_client_server_protocol.h +++ b/server/modules/include/mysql_client_server_protocol.h @@ -239,7 +239,7 @@ typedef enum #endif void gw_mysql_close(MySQLProtocol **ptr); -MySQLProtocol* mysql_protocol_init(DCB* dcb); +MySQLProtocol* mysql_protocol_init(DCB* dcb, int fd); MySQLProtocol *gw_mysql_init(MySQLProtocol *data); void gw_mysql_close(MySQLProtocol **ptr); int gw_receive_backend_auth(MySQLProtocol *conn); diff --git a/server/modules/protocol/mysql_backend.c b/server/modules/protocol/mysql_backend.c index 882830136..33e8664aa 100644 --- a/server/modules/protocol/mysql_backend.c +++ b/server/modules/protocol/mysql_backend.c @@ -464,7 +464,7 @@ static int gw_error_backend_event(DCB *dcb) { "Writing to backend failed."); return 0; - } + } skygw_log_write_flush( LOGFILE_ERROR, "%lu [gw_error_backend_event] Some error occurred in backend.", @@ -503,7 +503,7 @@ static int gw_create_backend_connection( int rv = -1; int fd = -1; - protocol = mysql_protocol_init(backend_dcb); + protocol = mysql_protocol_init(backend_dcb, -1); ss_dassert(protocol != NULL); if (protocol == NULL) { @@ -517,8 +517,6 @@ static int gw_create_backend_connection( /** if succeed, fd > 0, -1 otherwise */ rv = gw_do_connect_to_backend(server->name, server->port, &fd); - /** Assign fd with protocol */ - protocol->fd = fd; /** Assign protocol with backend_dcb */ backend_dcb->protocol = protocol; diff --git a/server/modules/protocol/mysql_client.c b/server/modules/protocol/mysql_client.c index 1f12924ff..369f7e190 100644 --- a/server/modules/protocol/mysql_client.c +++ b/server/modules/protocol/mysql_client.c @@ -957,7 +957,7 @@ int gw_MySQLAccept(DCB *listener) client_dcb->fd = c_sock; client_dcb->remote = strdup(inet_ntoa(local.sin_addr)); - protocol = mysql_protocol_init(client_dcb); + protocol = mysql_protocol_init(client_dcb, c_sock); ss_dassert(protocol != NULL); if (protocol == NULL) { diff --git a/server/modules/protocol/mysql_common.c b/server/modules/protocol/mysql_common.c index dcf3c45ae..39d3553f1 100644 --- a/server/modules/protocol/mysql_common.c +++ b/server/modules/protocol/mysql_common.c @@ -54,7 +54,8 @@ extern int gw_error_backend_event(DCB *dcb); * */ MySQLProtocol* mysql_protocol_init( - DCB* dcb) + DCB* dcb, + int fd) { MySQLProtocol* p; @@ -78,6 +79,8 @@ MySQLProtocol* mysql_protocol_init( p->protocol_chk_top = CHK_NUM_PROTOCOL; p->protocol_chk_tail = CHK_NUM_PROTOCOL; #endif + /** Assign fd with protocol */ + p->fd = fd; p->owner_dcb = dcb; CHK_PROTOCOL(p); return_p: @@ -547,7 +550,7 @@ int gw_do_connect_to_backend( skygw_log_write_flush( LOGFILE_ERROR, "%lu [gw_do_connect_to_backend] Establishing connection " - "to back-end server failed. Socket creation failed due " + "to backend server failed. Socket creation failed due " "%d, %s.", pthread_self(), eno,