@@ -3724,7 +3724,8 @@ bool TransporterRegistry::connect_client(NdbMgmHandle *h)
37243724 }
37253725 require (!t->isMultiTransporter ());
37263726 require (!t->isPartOfMultiTransporter ());
3727- bool res = t->connect_client (connect_ndb_mgmd (h));
3727+ NdbSocket secureSocket = connect_ndb_mgmd (h);
3728+ bool res = t->connect_client (secureSocket);
37283729 if (res == true )
37293730 {
37303731 DEBUG_FPRINTF ((stderr, " (%u)performStates[%u] = DISCONNECTING,"
@@ -3776,55 +3777,52 @@ bool TransporterRegistry::report_dynamic_ports(NdbMgmHandle h) const
37763777 * Given a connected NdbMgmHandle, turns it into a transporter
37773778 * and returns the socket.
37783779 */
3779- ndb_socket_t TransporterRegistry::connect_ndb_mgmd (NdbMgmHandle *h)
3780+ NdbSocket TransporterRegistry::connect_ndb_mgmd (NdbMgmHandle *h)
37803781{
3781- ndb_socket_t sockfd;
3782-
37833782 DBUG_ENTER (" TransporterRegistry::connect_ndb_mgmd(NdbMgmHandle)" );
37843783
37853784 if ( h==nullptr || *h == nullptr )
37863785 {
37873786 g_eventLogger->error (" Mgm handle is NULL (%s:%d)" , __FILE__, __LINE__);
3788- DBUG_RETURN (sockfd);
3787+ DBUG_RETURN (NdbSocket{}); // an invalid socket, newly created on the stack
37893788 }
37903789
37913790 if (!report_dynamic_ports (*h))
37923791 {
37933792 ndb_mgm_destroy_handle (h);
3794- DBUG_RETURN (sockfd);
3793+ DBUG_RETURN (NdbSocket{}); // an invalid socket, newly created on the stack
37953794 }
37963795
37973796 /* *
37983797 * convert_to_transporter also disposes of the handle (i.e. we don't leak
3799- * memory here.
3798+ * memory here) .
38003799 */
38013800 DBUG_PRINT (" info" , (" Converting handle to transporter" ));
3802- sockfd = ndb_mgm_convert_to_transporter (h);
3803- if (!ndb_socket_valid (sockfd ))
3801+ NdbSocket socket = ndb_mgm_convert_to_transporter (h);
3802+ if (! socket. is_valid ( ))
38043803 {
38053804 g_eventLogger->error (" Failed to convert to transporter (%s: %d)" ,
38063805 __FILE__, __LINE__);
38073806 ndb_mgm_destroy_handle (h);
38083807 }
3809- DBUG_RETURN (sockfd );
3808+ DBUG_RETURN (socket );
38103809}
38113810
38123811/* *
38133812 * Given a SocketClient, creates a NdbMgmHandle, turns it into a transporter
38143813 * and returns the socket.
38153814 */
3816- ndb_socket_t
3815+ NdbSocket
38173816TransporterRegistry::connect_ndb_mgmd (const char * server_name,
38183817 unsigned short server_port)
38193818{
38203819 NdbMgmHandle h= ndb_mgm_create_handle ();
3821- ndb_socket_t s;
38223820
38233821 DBUG_ENTER (" TransporterRegistry::connect_ndb_mgmd(SocketClient)" );
38243822
38253823 if ( h == nullptr )
38263824 {
3827- DBUG_RETURN (s );
3825+ DBUG_RETURN (NdbSocket () );
38283826 }
38293827
38303828 /* *
@@ -3845,7 +3843,7 @@ TransporterRegistry::connect_ndb_mgmd(const char* server_name,
38453843 {
38463844 DBUG_PRINT (" info" , (" connection to mgmd failed" ));
38473845 ndb_mgm_destroy_handle (&h);
3848- DBUG_RETURN (s );
3846+ DBUG_RETURN (NdbSocket () );
38493847 }
38503848
38513849 DBUG_RETURN (connect_ndb_mgmd (&h));
0 commit comments