Below is the list of changes that have just been committed into a local
5.1 repository of tomas. When tomas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2019 06/05/08 14:55:43 tomas@stripped +14 -0
remove TransporterFacade singleton
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp
1.37 06/05/08 14:55:19 tomas@stripped +8 -9
remove TransporterFacade singleton
storage/ndb/src/ndbapi/TransporterFacade.hpp
1.32 06/05/08 14:55:19 tomas@stripped +1 -10
remove TransporterFacade singleton
storage/ndb/src/ndbapi/TransporterFacade.cpp
1.48 06/05/08 14:55:19 tomas@stripped +2 -7
remove TransporterFacade singleton
storage/ndb/src/ndbapi/Ndbinit.cpp
1.38 06/05/08 14:55:17 tomas@stripped +5 -4
remove TransporterFacade singleton
storage/ndb/src/ndbapi/Ndbif.cpp
1.37 06/05/08 14:55:17 tomas@stripped +38 -34
remove TransporterFacade singleton
storage/ndb/src/ndbapi/NdbTransaction.cpp
1.50 06/05/08 14:55:17 tomas@stripped +4 -4
remove TransporterFacade singleton
storage/ndb/src/ndbapi/NdbScanOperation.cpp
1.73 06/05/08 14:55:17 tomas@stripped +9 -9
remove TransporterFacade singleton
storage/ndb/src/ndbapi/NdbReceiver.cpp
1.17 06/05/08 14:55:16 tomas@stripped +1 -1
remove TransporterFacade singleton
storage/ndb/src/ndbapi/NdbOperationExec.cpp
1.21 06/05/08 14:55:16 tomas@stripped +1 -1
remove TransporterFacade singleton
storage/ndb/src/ndbapi/NdbImpl.hpp
1.17 06/05/08 14:55:16 tomas@stripped +1 -0
remove TransporterFacade singleton
storage/ndb/src/ndbapi/Ndb.cpp
1.61 06/05/08 14:55:15 tomas@stripped +2 -2
remove TransporterFacade singleton
storage/ndb/src/mgmsrv/MgmtSrvr.cpp
1.90 06/05/08 14:55:15 tomas@stripped +1 -2
remove TransporterFacade singleton
storage/ndb/include/ndbapi/NdbTransaction.hpp
1.45 06/05/08 14:55:15 tomas@stripped +1 -1
remove TransporterFacade singleton
sql/log_event.cc
1.206 06/05/08 14:55:14 tomas@stripped +1 -1
remove TransporterFacade singleton
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: tomas
# Host: poseidon.ndb.mysql.com
# Root: /home/tomas/wl2325-alcatel
--- 1.205/sql/log_event.cc 2006-05-08 13:44:27 +02:00
+++ 1.206/sql/log_event.cc 2006-05-08 14:55:14 +02:00
@@ -5123,7 +5123,7 @@
Field **field_ptr;
{
char const *ptr= row + master_null_bytes;
- Field const **end_field_ptr= begin_ptr + column_count;
+ Field **const end_field_ptr= begin_ptr + column_count;
for (field_ptr= begin_ptr; field_ptr < end_field_ptr; ++field_ptr)
{
Field *const f= *field_ptr;
--- 1.44/storage/ndb/include/ndbapi/NdbTransaction.hpp 2005-10-06 10:26:06 +02:00
+++ 1.45/storage/ndb/include/ndbapi/NdbTransaction.hpp 2006-05-08 14:55:15 +02:00
@@ -792,7 +792,7 @@
bool theBlobFlag;
Uint8 thePendingBlobOps;
- static void sendTC_COMMIT_ACK(NdbApiSignal *,
+ static void sendTC_COMMIT_ACK(class TransporterFacade *, NdbApiSignal *,
Uint32 transId1, Uint32 transId2,
Uint32 aBlockRef);
--- 1.89/storage/ndb/src/mgmsrv/MgmtSrvr.cpp 2006-04-26 15:58:17 +02:00
+++ 1.90/storage/ndb/src/mgmsrv/MgmtSrvr.cpp 2006-05-08 14:55:15 +02:00
@@ -552,8 +552,7 @@
DBUG_RETURN(false);
}
}
- theFacade= TransporterFacade::theFacadeInstance
- = new TransporterFacade();
+ theFacade= new TransporterFacade();
if(theFacade == 0) {
DEBUG("MgmtSrvr.cpp: theFacade is NULL.");
--- 1.60/storage/ndb/src/ndbapi/Ndb.cpp 2005-11-01 10:46:50 +01:00
+++ 1.61/storage/ndb/src/ndbapi/Ndb.cpp 2006-05-08 14:55:15 +02:00
@@ -139,7 +139,7 @@
//***************************************************************************
int tReturnCode;
- TransporterFacade *tp = TransporterFacade::instance();
+ TransporterFacade *tp = theImpl->m_transporter_facade;
DBUG_ENTER("Ndb::NDB_connect");
@@ -609,7 +609,7 @@
tSignal.setData(tNdbConn->ptr2int(),2);
tSignal.setData(theMyRef,3); // Set return block reference
tNdbConn->Status(NdbTransaction::Connecting); // Set status to connecting
- TransporterFacade *tp = TransporterFacade::instance();
+ TransporterFacade *tp = theImpl->m_transporter_facade;
if (tAction == 3) {
tp->lock_mutex();
tp->sendSignal(&tSignal, aNode);
--- 1.49/storage/ndb/src/ndbapi/NdbTransaction.cpp 2006-03-24 17:11:39 +01:00
+++ 1.50/storage/ndb/src/ndbapi/NdbTransaction.cpp 2006-05-08 14:55:17 +02:00
@@ -434,7 +434,7 @@
//------------------------------------------------------------------------
Ndb* tNdb = theNdb;
- Uint32 timeout = TransporterFacade::instance()->m_waitfor_timeout;
+ Uint32 timeout = theNdb->theImpl->m_transporter_facade->m_waitfor_timeout;
m_waitForReply = false;
executeAsynchPrepare(aTypeOfExec, NULL, NULL, abortOption);
if (m_waitForReply){
@@ -706,7 +706,7 @@
tcHbRep->transId1 = tTransId1;
tcHbRep->transId2 = tTransId2;
- TransporterFacade *tp = TransporterFacade::instance();
+ TransporterFacade *tp = theNdb->theImpl->m_transporter_facade;
tp->lock_mutex();
const int res = tp->sendSignal(tSignal,theDBnode);
tp->unlock_mutex();
@@ -812,7 +812,7 @@
*************************************************************************/
NdbApiSignal tSignal(tNdb->theMyRef);
Uint32 tTransId1, tTransId2;
- TransporterFacade *tp = TransporterFacade::instance();
+ TransporterFacade *tp = theNdb->theImpl->m_transporter_facade;
int tReturnCode;
tTransId1 = (Uint32) theTransactionId;
@@ -859,7 +859,7 @@
{
NdbApiSignal tSignal(theNdb->theMyRef);
Uint32 tTransId1, tTransId2;
- TransporterFacade *tp = TransporterFacade::instance();
+ TransporterFacade *tp = theNdb->theImpl->m_transporter_facade;
int tReturnCode;
tTransId1 = (Uint32) theTransactionId;
--- 1.16/storage/ndb/src/ndbapi/NdbImpl.hpp 2006-01-18 11:52:09 +01:00
+++ 1.17/storage/ndb/src/ndbapi/NdbImpl.hpp 2006-05-08 14:55:16 +02:00
@@ -60,6 +60,7 @@
Ndb &m_ndb;
Ndb_cluster_connection_impl &m_ndb_cluster_connection;
+ TransporterFacade *m_transporter_facade;
NdbDictionaryImpl m_dictionary;
--- 1.20/storage/ndb/src/ndbapi/NdbOperationExec.cpp 2005-06-07 12:21:22 +02:00
+++ 1.21/storage/ndb/src/ndbapi/NdbOperationExec.cpp 2006-05-08 14:55:16 +02:00
@@ -59,7 +59,7 @@
int tSignalCount = 0;
assert(theTCREQ != NULL);
setLastFlag(theTCREQ, lastFlag);
- TransporterFacade *tp = TransporterFacade::instance();
+ TransporterFacade *tp = theNdb->theImpl->m_transporter_facade;
tReturnCode = tp->sendSignal(theTCREQ, aNodeId);
tSignalCount++;
if (tReturnCode == -1) {
--- 1.16/storage/ndb/src/ndbapi/NdbReceiver.cpp 2005-04-08 02:44:10 +02:00
+++ 1.17/storage/ndb/src/ndbapi/NdbReceiver.cpp 2006-05-08 14:55:16 +02:00
@@ -101,7 +101,7 @@
Uint32& batch_byte_size,
Uint32& first_batch_size)
{
- TransporterFacade *tp= TransporterFacade::instance();
+ TransporterFacade *tp= m_ndb->theImpl->m_transporter_facade;
Uint32 max_scan_batch_size= tp->get_scan_batch_size();
Uint32 max_batch_byte_size= tp->get_batch_byte_size();
Uint32 max_batch_size= tp->get_batch_size();
--- 1.72/storage/ndb/src/ndbapi/NdbScanOperation.cpp 2005-09-20 12:23:32 +02:00
+++ 1.73/storage/ndb/src/ndbapi/NdbScanOperation.cpp 2006-05-08 14:55:17 +02:00
@@ -358,7 +358,7 @@
int
NdbScanOperation::executeCursor(int nodeId){
NdbTransaction * tCon = theNdbCon;
- TransporterFacade* tp = TransporterFacade::instance();
+ TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
Guard guard(tp->theMutexPtr);
Uint32 magic = tCon->theMagicNumber;
@@ -459,7 +459,7 @@
}
Uint32 nodeId = theNdbCon->theDBnode;
- TransporterFacade* tp = TransporterFacade::instance();
+ TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
/*
The PollGuard has an implicit call of unlock_and_signal through the
~PollGuard method. This method is called implicitly by the compiler
@@ -599,7 +599,7 @@
if(sent)
{
Uint32 nodeId = theNdbCon->theDBnode;
- TransporterFacade * tp = TransporterFacade::instance();
+ TransporterFacade * tp = theNdb->theImpl->m_transporter_facade;
if(cnt > 21){
tSignal.setLength(4);
LinearSectionPtr ptr[3];
@@ -654,7 +654,7 @@
m_conf_receivers_count,
m_sent_receivers_count);
- TransporterFacade* tp = TransporterFacade::instance();
+ TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
/*
The PollGuard has an implicit call of unlock_and_signal through the
~PollGuard method. This method is called implicitly by the compiler
@@ -817,7 +817,7 @@
req->requestInfo = tmp;
tSignal->setLength(ScanTabReq::StaticLength + theDistrKeyIndicator_);
- TransporterFacade *tp = TransporterFacade::instance();
+ TransporterFacade *tp = theNdb->theImpl->m_transporter_facade;
LinearSectionPtr ptr[3];
ptr[0].p = m_prepared_receivers;
ptr[0].sz = theParallelism;
@@ -1362,7 +1362,7 @@
if(fetchNeeded){
if(fetchAllowed){
if(DEBUG_NEXT_RESULT) ndbout_c("performing fetch...");
- TransporterFacade* tp = TransporterFacade::instance();
+ TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
/*
The PollGuard has an implicit call of unlock_and_signal through the
~PollGuard method. This method is called implicitly by the compiler
@@ -1505,7 +1505,7 @@
m_sent_receivers_count = last + 1;
Uint32 nodeId = theNdbCon->theDBnode;
- TransporterFacade * tp = TransporterFacade::instance();
+ TransporterFacade * tp = theNdb->theImpl->m_transporter_facade;
tSignal.setLength(4+1);
int ret= tp->sendSignal(&tSignal, nodeId);
return ret;
@@ -1638,7 +1638,7 @@
NdbScanOperation::restart(bool forceSend)
{
- TransporterFacade* tp = TransporterFacade::instance();
+ TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
/*
The PollGuard has an implicit call of unlock_and_signal through the
~PollGuard method. This method is called implicitly by the compiler
@@ -1673,7 +1673,7 @@
int res;
{
- TransporterFacade* tp = TransporterFacade::instance();
+ TransporterFacade* tp = theNdb->theImpl->m_transporter_facade;
/*
The PollGuard has an implicit call of unlock_and_signal through the
~PollGuard method. This method is called implicitly by the compiler
--- 1.36/storage/ndb/src/ndbapi/Ndbif.cpp 2006-04-26 17:05:48 +02:00
+++ 1.37/storage/ndb/src/ndbapi/Ndbif.cpp 2006-05-08 14:55:17 +02:00
@@ -79,7 +79,7 @@
DBUG_RETURN(-1);
}//if
theInitState = StartingInit;
- TransporterFacade * theFacade = TransporterFacade::instance();
+ TransporterFacade * theFacade = theImpl->m_transporter_facade;
theFacade->lock_mutex();
const int tBlockNo = theFacade->open(this,
@@ -147,7 +147,7 @@
ndbout << "error_handler" << endl;
releaseTransactionArrays();
delete theDictionary;
- TransporterFacade::instance()->close(theNdbBlockNumber, 0);
+ theImpl->m_transporter_facade->close(theNdbBlockNumber, 0);
DBUG_RETURN(-1);
}
@@ -185,7 +185,7 @@
assert(theMyRef == numberToRef(theNdbBlockNumber, tmpTheNode));
}
- TransporterFacade * theFacade = TransporterFacade::instance();
+ TransporterFacade * theFacade = theImpl->m_transporter_facade;
int i, n= 0;
for (i = 1; i < MAX_NDB_NODES; i++){
if (theFacade->getIsDbNode(i)){
@@ -254,7 +254,7 @@
Ndb::report_node_failure_completed(Uint32 node_id)
{
if (theEventBuffer &&
- !TransporterFacade::instance()->theClusterMgr->isClusterAlive())
+ !theImpl->m_transporter_facade->theClusterMgr->isClusterAlive())
{
// cluster is unavailable,
// eventOperations in the ndb object should be notified
@@ -369,10 +369,11 @@
}//if
if(TcKeyConf::getMarkerFlag(keyConf->confInfo)){
- NdbTransaction::sendTC_COMMIT_ACK(theCommitAckSignal,
- keyConf->transId1,
- keyConf->transId2,
- aTCRef);
+ NdbTransaction::sendTC_COMMIT_ACK(theImpl->m_transporter_facade,
+ theCommitAckSignal,
+ keyConf->transId1,
+ keyConf->transId2,
+ aTCRef);
}
return;
@@ -448,10 +449,11 @@
#endif
}
if(tFirstData & 1){
- NdbTransaction::sendTC_COMMIT_ACK(theCommitAckSignal,
- failConf->transId1,
- failConf->transId2,
- aTCRef);
+ NdbTransaction::sendTC_COMMIT_ACK(theImpl->m_transporter_facade,
+ theCommitAckSignal,
+ failConf->transId1,
+ failConf->transId2,
+ aTCRef);
}
return;
}
@@ -520,10 +522,11 @@
}//if
if(tFirstData & 1){
- NdbTransaction::sendTC_COMMIT_ACK(theCommitAckSignal,
- commitConf->transId1,
- commitConf->transId2,
- aTCRef);
+ NdbTransaction::sendTC_COMMIT_ACK(theImpl->m_transporter_facade,
+ theCommitAckSignal,
+ commitConf->transId1,
+ commitConf->transId2,
+ aTCRef);
}
return;
}
@@ -843,10 +846,11 @@
}//if
if(TcIndxConf::getMarkerFlag(indxConf->confInfo)){
- NdbTransaction::sendTC_COMMIT_ACK(theCommitAckSignal,
- indxConf->transId1,
- indxConf->transId2,
- aTCRef);
+ NdbTransaction::sendTC_COMMIT_ACK(theImpl->m_transporter_facade,
+ theCommitAckSignal,
+ indxConf->transId1,
+ indxConf->transId2,
+ aTCRef);
}
return;
}
@@ -888,7 +892,7 @@
its conditional wait. This will wake up this thread so that it
can continue its work.
*/
- TransporterFacade *tp= TransporterFacade::instance();
+ TransporterFacade *tp= theImpl->m_transporter_facade;
if (tp->get_poll_owner() != t_waiter)
{
/*
@@ -952,7 +956,7 @@
if ((theMinNoOfEventsToWakeUp != 0) &&
(theNoOfCompletedTransactions >= theMinNoOfEventsToWakeUp)) {
theMinNoOfEventsToWakeUp = 0;
- TransporterFacade *tp = TransporterFacade::instance();
+ TransporterFacade *tp = theImpl->m_transporter_facade;
NdbWaiter *t_waiter= &theImpl->theWaiter;
if (tp->get_poll_owner() != t_waiter) {
/*
@@ -1034,7 +1038,7 @@
void
Ndb::check_send_timeout()
{
- Uint32 timeout = TransporterFacade::instance()->m_waitfor_timeout;
+ Uint32 timeout = theImpl->m_transporter_facade->m_waitfor_timeout;
NDB_TICKS current_time = NdbTick_CurrentMillisecond();
if (current_time - the_last_check_time > 1000) {
the_last_check_time = current_time;
@@ -1122,7 +1126,7 @@
and we keep a small space for messages like that.
*/
Uint32 i;
- TransporterFacade* tp = TransporterFacade::instance();
+ TransporterFacade* tp = theImpl->m_transporter_facade;
Uint32 no_of_prep_trans = theNoOfPreparedTransactions;
for (i = 0; i < no_of_prep_trans; i++) {
NdbTransaction * a_con = thePreparedTransactionsArray[i];
@@ -1263,9 +1267,9 @@
void
Ndb::sendPreparedTransactions(int forceSend)
{
- TransporterFacade::instance()->lock_mutex();
+ theImpl->m_transporter_facade->lock_mutex();
sendPrepTrans(forceSend);
- TransporterFacade::instance()->unlock_mutex();
+ theImpl->m_transporter_facade->unlock_mutex();
return;
}//Ndb::sendPreparedTransactions()
@@ -1286,7 +1290,7 @@
in all places where the object is out of context due to a return,
break, continue or simply end of statement block
*/
- PollGuard pg(TransporterFacade::instance(), &theImpl->theWaiter,
+ PollGuard pg(theImpl->m_transporter_facade, &theImpl->theWaiter,
theNdbBlockNumber);
sendPrepTrans(forceSend);
return poll_trans(aMillisecondNumber, minNoOfEventsToWakeup, &pg);
@@ -1330,7 +1334,7 @@
in all places where the object is out of context due to a return,
break, continue or simply end of statement block
*/
- PollGuard pg(TransporterFacade::instance(), &theImpl->theWaiter,
+ PollGuard pg(theImpl->m_transporter_facade, &theImpl->theWaiter,
theNdbBlockNumber);
return poll_trans(aMillisecondNumber, minNoOfEventsToWakeup, &pg);
}
@@ -1354,7 +1358,7 @@
int return_code;
Uint32 read_conn_seq;
- TransporterFacade* tp = TransporterFacade::instance();
+ TransporterFacade* tp = theImpl->m_transporter_facade;
Uint32 send_size = 1; // Always sends one signal only
// Protected area
/*
@@ -1395,16 +1399,16 @@
}//Ndb::sendRecSignal()
void
-NdbTransaction::sendTC_COMMIT_ACK(NdbApiSignal * aSignal,
- Uint32 transId1, Uint32 transId2,
- Uint32 aTCRef){
+NdbTransaction::sendTC_COMMIT_ACK(TransporterFacade *tp,
+ NdbApiSignal * aSignal,
+ Uint32 transId1, Uint32 transId2,
+ Uint32 aTCRef){
#ifdef MARKER_TRACE
ndbout_c("Sending TC_COMMIT_ACK(0x%.8x, 0x%.8x) to -> %d",
transId1,
transId2,
refToNode(aTCRef));
#endif
- TransporterFacade *tp = TransporterFacade::instance();
aSignal->theTrace = TestOrd::TraceAPI;
aSignal->theReceiversBlockNumber = DBTC;
aSignal->theVerId_signalNumber = GSN_TC_COMMIT_ACK;
@@ -1421,7 +1425,7 @@
NdbImpl::send_event_report(Uint32 *data, Uint32 length)
{
NdbApiSignal aSignal(m_ndb.theMyRef);
- TransporterFacade *tp = TransporterFacade::instance();
+ TransporterFacade *tp = m_transporter_facade;
aSignal.theTrace = TestOrd::TraceAPI;
aSignal.theReceiversBlockNumber = CMVMI;
aSignal.theVerId_signalNumber = GSN_EVENT_REP;
--- 1.37/storage/ndb/src/ndbapi/Ndbinit.cpp 2005-10-07 10:58:08 +02:00
+++ 1.38/storage/ndb/src/ndbapi/Ndbinit.cpp 2006-05-08 14:55:17 +02:00
@@ -108,7 +108,7 @@
theImpl->m_schemaname.assign(aSchema);
theImpl->update_prefix();
- theImpl->theWaiter.m_mutex = TransporterFacade::instance()->theMutexPtr;
+ theImpl->theWaiter.m_mutex = theImpl->m_transporter_facade->theMutexPtr;
// Signal that the constructor has finished OK
if (theInitState == NotConstructed)
@@ -148,8 +148,8 @@
delete theEventBuffer;
- if (TransporterFacade::instance() != NULL && theNdbBlockNumber > 0){
- TransporterFacade::instance()->close(theNdbBlockNumber, theFirstTransId);
+ if (theImpl->m_transporter_facade != NULL && theNdbBlockNumber > 0){
+ theImpl->m_transporter_facade->close(theNdbBlockNumber, theFirstTransId);
}
releaseTransactionArrays();
@@ -205,9 +205,10 @@
Ndb& ndb)
: m_ndb(ndb),
m_ndb_cluster_connection(ndb_cluster_connection->m_impl),
+ m_transporter_facade(ndb_cluster_connection->m_impl.m_transporter_facade),
m_dictionary(ndb),
theCurrentConnectIndex(0),
- theNdbObjectIdMap(ndb_cluster_connection->m_impl.m_transporter_facade->theMutexPtr,
+ theNdbObjectIdMap(m_transporter_facade->theMutexPtr,
1024,1024),
theNoOfDBnodes(0),
m_ev_op(0)
--- 1.47/storage/ndb/src/ndbapi/TransporterFacade.cpp 2006-04-26 17:08:11 +02:00
+++ 1.48/storage/ndb/src/ndbapi/TransporterFacade.cpp 2006-05-08 14:55:19 +02:00
@@ -57,8 +57,6 @@
#define TRP_DEBUG(t)
#endif
-TransporterFacade* TransporterFacade::theFacadeInstance = NULL;
-
/*****************************************************************************
* Call back functions
*****************************************************************************/
@@ -116,7 +114,6 @@
ndbout_c("REPORT_TRANSP: API reportConnect (nodeId=%d)", (int)nodeId);
#endif
((TransporterFacade*)(callbackObj))->reportConnected(nodeId);
- // TransporterFacade::instance()->reportConnected(nodeId);
}
/**
@@ -128,7 +125,6 @@
ndbout_c("REPORT_TRANSP: API reportDisconnect (nodeId=%d)", (int)nodeId);
#endif
((TransporterFacade*)(callbackObj))->reportDisconnected(nodeId);
- //TransporterFacade::instance()->reportDisconnected(nodeId);
}
void
@@ -392,7 +388,7 @@
TransporterFacade::start_instance(int nodeId,
const ndb_mgm_configuration* props)
{
- if (! theFacadeInstance->init(nodeId, props)) {
+ if (! init(nodeId, props)) {
return -1;
}
@@ -418,8 +414,7 @@
void
TransporterFacade::stop_instance(){
DBUG_ENTER("TransporterFacade::stop_instance");
- if(theFacadeInstance)
- theFacadeInstance->doStop();
+ doStop();
DBUG_VOID_RETURN;
}
--- 1.31/storage/ndb/src/ndbapi/TransporterFacade.hpp 2006-05-08 12:26:06 +02:00
+++ 1.32/storage/ndb/src/ndbapi/TransporterFacade.hpp 2006-05-08 14:55:19 +02:00
@@ -57,9 +57,8 @@
virtual ~TransporterFacade();
bool init(Uint32, const ndb_mgm_configuration *);
- static TransporterFacade* instance();
int start_instance(int, const ndb_mgm_configuration*);
- static void stop_instance();
+ void stop_instance();
/**
* Register this block for sending/receiving signals
@@ -279,8 +278,6 @@
public:
NdbMutex* theMutexPtr;
-private:
- static TransporterFacade* theFacadeInstance;
public:
GlobalDictCache m_globalDictCache;
@@ -304,12 +301,6 @@
bool m_locked;
};
-inline
-TransporterFacade*
-TransporterFacade::instance()
-{
- return theFacadeInstance;
-}
inline
void
--- 1.36/storage/ndb/src/ndbapi/ndb_cluster_connection.cpp 2005-10-14 11:55:29 +02:00
+++ 1.37/storage/ndb/src/ndbapi/ndb_cluster_connection.cpp 2006-05-08 14:55:19 +02:00
@@ -189,7 +189,7 @@
int Ndb_cluster_connection::get_no_ready()
{
- TransporterFacade *tp = TransporterFacade::instance();
+ TransporterFacade *tp = m_impl.m_transporter_facade;
if (tp == 0 || tp->ownId() == 0)
return -1;
@@ -214,7 +214,7 @@
int timeout_after_first_alive)
{
DBUG_ENTER("Ndb_cluster_connection::wait_until_ready");
- TransporterFacade *tp = TransporterFacade::instance();
+ TransporterFacade *tp = m_impl.m_transporter_facade;
if (tp == 0)
{
DBUG_RETURN(-1);
@@ -288,9 +288,7 @@
m_config_retriever= 0;
}
- m_transporter_facade=
- TransporterFacade::theFacadeInstance=
- new TransporterFacade();
+ m_transporter_facade= new TransporterFacade();
DBUG_VOID_RETURN;
}
@@ -298,7 +296,10 @@
Ndb_cluster_connection_impl::~Ndb_cluster_connection_impl()
{
DBUG_ENTER("~Ndb_cluster_connection");
- TransporterFacade::stop_instance();
+ if (m_transporter_facade != 0)
+ {
+ m_transporter_facade->stop_instance();
+ }
if (m_connect_thread)
{
void *status;
@@ -310,9 +311,7 @@
if (m_transporter_facade != 0)
{
delete m_transporter_facade;
- if (m_transporter_facade != TransporterFacade::theFacadeInstance)
- abort();
- TransporterFacade::theFacadeInstance= 0;
+ m_transporter_facade = 0;
}
if (m_config_retriever)
{
| Thread |
|---|
| • bk commit into 5.1 tree (tomas:1.2019) | tomas | 8 May |