Below is the list of changes that have just been committed into a local
5.1 repository of pekka. When pekka 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@stripped, 2007-01-02 13:27:52+02:00, pekka@stripped +4 -0
ndb - wl#3600
storage/ndb/include/kernel/signaldata/SchemaTransImpl.hpp@stripped, 2007-01-02 13:24:31+02:00, pekka@stripped +4 -4
wl#3600 iterators and run methods, small changes
storage/ndb/src/common/debugger/signaldata/SchemaTransImpl.cpp@stripped, 2007-01-02 13:24:31+02:00, pekka@stripped +16 -3
wl#3600 iterators and run methods, small changes
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp@stripped, 2007-01-02 13:24:31+02:00, pekka@stripped +95 -81
wl#3600 iterators and run methods, small changes
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp@stripped, 2007-01-02 13:24:31+02:00, pekka@stripped +35 -37
wl#3600 iterators and run methods, small changes
# 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: pekka
# Host: clam.(none)
# Root: /export/space/pekka/ndb/version/my52-wl3600
--- 1.121/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2006-12-29 23:18:25 +02:00
+++ 1.122/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2007-01-02 13:24:31 +02:00
@@ -16403,6 +16403,7 @@
const Dbdict::OpInfo&
Dbdict::getOpInfo(SchemaOpPtr op_ptr)
{
+ ndbrequire(!op_ptr.isNull());
OpDataPtr data_ptr = op_ptr.p->m_data_ptr;
ndbrequire(!data_ptr.isNull());
return data_ptr.p->m_opInfo;
@@ -16464,17 +16465,20 @@
void
Dbdict::addSchemaOp(SchemaTransPtr trans_ptr, SchemaOpPtr& op_ptr)
{
- LocalDLFifoList<SchemaOp> list(c_schemaOpPool, trans_ptr.p->m_opList);
#ifdef VM_TRACE
- SchemaOpPtr loop_ptr;
- list.first(loop_ptr);
- while (loop_ptr.i != RNIL) {
- ndbrequire(loop_ptr.i != op_ptr.i);
- ndbrequire(loop_ptr.p->op_key != op_ptr.p->op_key);
- list.next(loop_ptr);
+ {
+ OpIterator loop_it(trans_ptr.p->m_opList);
+ itFirst(loop_it);
+ while (itExists(loop_it)) {
+ SchemaOpPtr loop_ptr = itGetPtr(loop_it);
+ ndbrequire(loop_ptr.i != op_ptr.i);
+ ndbrequire(loop_ptr.p->op_key != op_ptr.p->op_key);
+ itNext(loop_it);
+ }
}
#endif
- list.add(op_ptr);
+ PhaseIterator& it = getIterator(trans_ptr);
+ itAddLast(it, op_ptr);
op_ptr.p->m_trans_ptr = trans_ptr;
}
@@ -16491,6 +16495,9 @@
trans_ptr.p->trans_key = trans_key;
if (c_phaseIteratorPool.seize(trans_ptr.p->m_iterator_ptr)) {
jam();
+ PhaseIterator& it = getIterator(trans_ptr);
+ // set parse phase iterator
+ new (&it) PhaseIterator(0, g_parsePhaseList, trans_ptr.p->m_opList);
c_schemaTransHash.add(trans_ptr);
D("seizeSchemaTrans" << V(trans_ptr.i) << *trans_ptr.p);
return true;
@@ -16539,6 +16546,14 @@
trans_ptr.setNull();
}
+Dbdict::PhaseIterator&
+Dbdict::getIterator(SchemaTransPtr trans_ptr)
+{
+ PhaseIteratorPtr iterator_ptr = trans_ptr.p->m_iterator_ptr;
+ ndbrequire(!iterator_ptr.isNull());
+ return *iterator_ptr.p;
+}
+
// client requests
void
@@ -16642,11 +16657,10 @@
return;
}
- // define iterator and start execution phases
- PhaseIteratorPtr iterator_ptr = trans_ptr.p->m_iterator_ptr;
- ndbrequire(!iterator_ptr.isNull());
- new (iterator_ptr.p) PhaseIterator(g_thePhaseList, trans_ptr.p->m_opList);
- runSchemaTrans(signal, trans_ptr, SchemaTransImplConf::RI_FIRST);
+ // set iterator and start execution phases
+ PhaseIterator& it = getIterator(trans_ptr);
+ new (&it) PhaseIterator(1, g_execPhaseList, trans_ptr.p->m_opList);
+ runSchemaTrans(signal, trans_ptr, SchemaTransImplConf::RF_FIRST);
return;
} while (0);
@@ -16669,20 +16683,21 @@
{
D("schemaTrans_sendReq" << V(local) << *trans_ptr.p);
+ const PhaseIterator& it = getIterator(trans_ptr);
+ SchemaOpPtr op_ptr = itGetPtr(it);
+
Uint32 requestType = trans_ptr.p->m_requestType;
- Uint32 gsn = trans_ptr.p->m_gsn;
- Uint32 phaseListId = trans_ptr.p->m_phaseListId;
- Uint32 phaseListIndex = trans_ptr.p->m_phaseListIndex;
+ Uint32 gsn = 0;
Uint32 extra_length = 0;
if (requestType == SchemaTransImplReq::RT_PARSE) {
jam();
- const OpInfo* info = findOpInfo(gsn);
- ndbrequire(info != 0);
+ const OpInfo& info = getOpInfo(op_ptr);
+ gsn = info.m_impl_req_gsn;
Uint32* data = signal->getDataPtrSend();
Uint32 skip = SchemaTransImplReq::SignalLength;
- Uint32 length = info->m_impl_req_length;
+ Uint32 length = info.m_impl_req_length;
ndbrequire(skip + length <= 25);
Uint32 i = length;
@@ -16695,12 +16710,9 @@
SchemaTransImplReq* req = (SchemaTransImplReq*)signal->getDataPtrSend();
- SchemaOpPtr op_ptr = trans_ptr.p->m_op_ptr;
-
Uint32 requestInfo;
SchemaTransImplReq::setRequestInfo(requestInfo,
- requestType, gsn,
- phaseListId, phaseListIndex);
+ requestType, gsn, it.m_id, it.m_index);
req->senderRef = reference();
req->transKey = trans_ptr.p->trans_key;
@@ -16731,20 +16743,6 @@
}
void
-Dbdict::schemaTrans_sendParseReq(Signal* signal, SchemaOpPtr op_ptr)
-{
- D("schemaTrans_sendParseReq");
-
- const OpInfo& info = getOpInfo(op_ptr);
-
- SchemaTransPtr trans_ptr = op_ptr.p->m_trans_ptr;
- trans_ptr.p->m_op_ptr = op_ptr;
- trans_ptr.p->m_requestType = SchemaTransImplReq::RT_PARSE;
- trans_ptr.p->m_gsn = info.m_impl_req_gsn;
- schemaTrans_sendReq(signal, trans_ptr, false);
-}
-
-void
Dbdict::execSCHEMA_TRANS_IMPL_CONF(Signal* signal)
{
jamEntry();
@@ -16765,7 +16763,7 @@
{
Uint32 trans_key;
Uint32 senderRef;
- Uint32 runInfo = 0;
+ Uint32 runFlag = 0;
ErrorInfo error;
if (isConf) {
@@ -16773,7 +16771,7 @@
(const SchemaTransImplConf*)signal->getDataPtr();
senderRef = conf->senderRef;
trans_key = conf->transKey;
- runInfo = conf->runInfo;
+ runFlag = conf->runFlag;
} else {
jam();
const SchemaTransImplRef* ref =
@@ -16817,7 +16815,8 @@
return;
}
- SchemaOpPtr op_ptr = trans_ptr.p->m_op_ptr;
+ PhaseIterator& it = getIterator(trans_ptr);
+ SchemaOpPtr op_ptr = itGetPtr(it);
Uint32 clientRef = trans_ptr.p->m_clientRef;
Uint32 transId = trans_ptr.p->m_transId;
@@ -16860,7 +16859,7 @@
case SchemaTransImplReq::RT_COMMIT_END:
jam();
{
- runSchemaTrans(signal, trans_ptr, runInfo);
+ runSchemaTrans(signal, trans_ptr, runFlag);
}
break;
@@ -16919,19 +16918,18 @@
const SchemaTransImplReq* req =
(const SchemaTransImplReq*)signal->getDataPtr();
- const Uint32 senderRef = req->senderRef;
- const Uint32 trans_key = req->transKey;
- const Uint32 op_key = req->opKey;
- const Uint32 requestInfo = req->requestInfo;
- const Uint32 clientRef = req->clientRef;
- const Uint32 transId = req->transId;
+ Uint32 senderRef = req->senderRef;
+ Uint32 trans_key = req->transKey;
+ Uint32 op_key = req->opKey;
+ Uint32 requestInfo = req->requestInfo;
+ Uint32 clientRef = req->clientRef;
+ Uint32 transId = req->transId;
// unpack requestInfo
- const Uint32 requestType = SchemaTransImplReq::getRequestType(requestInfo);
- const Uint32 gsn = SchemaTransImplReq::getGsn(requestInfo);
- const Uint32 plNum = SchemaTransImplReq::getPhaseListNum(requestInfo);
- const Uint32 plIndex = SchemaTransImplReq::getPhaseListIndex(requestInfo);
-
+ Uint32 requestType = SchemaTransImplReq::getRequestType(requestInfo);
+ Uint32 gsn = SchemaTransImplReq::getGsn(requestInfo);
+ Uint32 plNum = SchemaTransImplReq::getPhaseListNum(requestInfo);
+ Uint32 plIndex = SchemaTransImplReq::getPhaseListIndex(requestInfo);
D("schemaTrans_recvReq");
@@ -17017,14 +17015,12 @@
* Simple request i.e. no operation.
*/
{
- ndbrequire(plNum == 0);
- const PhaseList& pl = g_thePhaseList;
+ ndbrequire(plNum == 1);
+ const PhaseList& pl = g_execPhaseList;
ndbrequire(plIndex < pl.m_count);
const PhaseEntry& pe = pl.m_entry[plIndex];
ndbrequire((pe.m_flags & PH_SIMPLE) && pe.m_simple != 0);
-
- trans_ptr.p->m_op_ptr.setNull();
(this->*(pe.m_simple))(signal, trans_ptr);
}
break;
@@ -17037,16 +17033,9 @@
* Participants receive current operation key.
*/
{
- SchemaOpPtr op_ptr = trans_ptr.p->m_op_ptr;
- if (isMaster) {
- jam();
- ndbrequire(op_ptr.p->op_key == op_key);
- } else {
- findSchemaOp(op_ptr, op_key);
- ndbrequire(!op_ptr.isNull());
- }
- trans_ptr.p->m_op_ptr = op_ptr;
- runSchemaOp(signal, trans_ptr);
+ SchemaOpPtr op_ptr;
+ findSchemaOp(op_ptr, op_key);
+ runSchemaOp(signal, op_ptr);
}
break;
@@ -17077,7 +17066,7 @@
void
Dbdict::schemaTrans_sendConf(Signal* signal, SchemaTransPtr trans_ptr,
- Uint32 runInfo)
+ Uint32 runFlag)
{
D("schemaTrans_sendConf");
@@ -17085,7 +17074,7 @@
(SchemaTransImplConf*)signal->getDataPtrSend();
conf->senderRef = reference();
conf->transKey = trans_ptr.p->trans_key;
- conf->runInfo = runInfo;
+ conf->runFlag = runFlag;
Uint32 masterRef = trans_ptr.p->m_masterRef;
sendSignal(masterRef, GSN_SCHEMA_TRANS_IMPL_CONF,
@@ -17121,18 +17110,17 @@
// master
void
Dbdict::runSchemaTrans(Signal* signal, SchemaTransPtr trans_ptr,
- Uint32 runInfo)
+ Uint32 runFlag)
{
- ndbrequire(!trans_ptr.p->m_iterator_ptr.isNull());
- PhaseIterator& it = *trans_ptr.p->m_iterator_ptr.p;
+ PhaseIterator& it = getIterator(trans_ptr);
bool found;
{
- bool ri_first = (runInfo & SchemaTransImplConf::RI_FIRST);
- bool ri_repeat = (runInfo & SchemaTransImplConf::RI_REPEAT);
- if (ri_first) {
+ bool rf_first = (runFlag & SchemaTransImplConf::RF_FIRST);
+ bool rf_repeat = (runFlag & SchemaTransImplConf::RF_REPEAT);
+ if (rf_first) {
jam();
found = itFirst(it);
- } else if (!ri_repeat) {
+ } else if (!rf_repeat) {
jam();
found = itNext(it);
} else {
@@ -17177,9 +17165,9 @@
// participant
void
-Dbdict::runSchemaOp(Signal* signal, SchemaTransPtr trans_ptr)
+Dbdict::runSchemaOp(Signal* signal, SchemaOpPtr op_ptr)
{
- SchemaOpPtr op_ptr = trans_ptr.p->m_op_ptr;
+ SchemaTransPtr trans_ptr = op_ptr.p->m_trans_ptr;
const OpInfo& info = getOpInfo(op_ptr);
const Uint32 requestType = trans_ptr.p->m_requestType;
@@ -17206,6 +17194,15 @@
return it.m_op_ptr;
}
+void
+Dbdict::itAddLast(OpIterator& it, SchemaOpPtr op_ptr)
+{
+ LocalDLFifoList<SchemaOp> list(c_schemaOpPool, it.m_opList);
+ list.addLast(op_ptr);
+ itNext(it);
+ ndbrequire(it.m_op_ptr.i == op_ptr.i);
+}
+
bool
Dbdict::itExists(const OpIterator& it)
{
@@ -17232,6 +17229,12 @@
return itGetPtr(it.m_opIterator);
}
+void
+Dbdict::itAddLast(PhaseIterator& it, SchemaOpPtr op_ptr)
+{
+ itAddLast(it.m_opIterator, op_ptr);
+}
+
bool
Dbdict::itExists(const PhaseIterator& it)
{
@@ -17302,7 +17305,18 @@
}
const Dbdict::PhaseEntry
-Dbdict::g_thePhaseEntry[] = {
+Dbdict::g_parsePhaseEntry[] = {
+ { SchemaTransImplReq::RT_PARSE, 0, 0 }
+};
+
+const Dbdict::PhaseList
+Dbdict::g_parsePhaseList = {
+ g_parsePhaseEntry,
+ sizeof(g_parsePhaseEntry) / sizeof(g_parsePhaseEntry[0])
+};
+
+const Dbdict::PhaseEntry
+Dbdict::g_execPhaseEntry[] = {
{ SchemaTransImplReq::RT_PREPARE_BEGIN,
PH_SIMPLE | PH_MASTER,
&Dbdict::schemaTrans_dummy },
@@ -17329,9 +17343,9 @@
};
const Dbdict::PhaseList
-Dbdict::g_thePhaseList = {
- g_thePhaseEntry,
- sizeof(g_thePhaseEntry) / sizeof(g_thePhaseEntry[0])
+Dbdict::g_execPhaseList = {
+ g_execPhaseEntry,
+ sizeof(g_execPhaseEntry) / sizeof(g_execPhaseEntry[0])
};
// MODULE: debug
--- 1.52/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp 2006-12-29 23:18:25 +02:00
+++ 1.53/storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp 2007-01-02 13:24:31 +02:00
@@ -1176,12 +1176,12 @@
Uint32 errorLine;
Uint32 errorNodeId;
Uint32 errorCount;
- ErrorInfo() :
- errorCode(0),
- errorLine(0),
- errorNodeId(0),
- errorCount(0)
- {}
+ ErrorInfo() {
+ errorCode = 0;
+ errorLine = 0;
+ errorNodeId = 0;
+ errorCount = 0;
+ }
#ifdef VM_TRACE
void print(NdbOut&) const;
#endif
@@ -1203,7 +1203,8 @@
template <class Ref>
inline void
- getError(const ErrorInfo& error, Ref* ref) {
+ getError(const ErrorInfo& error, Ref* ref)
+ {
ref->errorCode = error.errorCode;
ref->errorLine = error.errorLine;
ref->errorNodeId = error.errorNodeId;
@@ -1250,8 +1251,7 @@
DictObjectPtr m_obj_ptr;
OpData(const OpInfo& info) :
- m_opInfo(info)
- {
+ m_opInfo(info) {
m_obj_ptr.setNull();
}
};
@@ -1447,6 +1447,7 @@
Uint32 m_clientRef;
Uint32 m_transId;
Uint32 m_masterRef;
+ Uint32 m_requestType;
NdbNodeBitmask m_initialNodes;
NdbNodeBitmask m_failedNodes;
SafeCounterHandle m_counter;
@@ -1454,30 +1455,17 @@
// list of schema ops under this tx
OpList m_opList;
- // current operation
- SchemaOpPtr m_op_ptr;
-
- // iterator assigned in master before execution phases
+ // iterator for parse and execution phases
PhaseIteratorPtr m_iterator_ptr;
- // requestInfo of current SchemaTransImplReq
- Uint32 m_requestType;
- Uint32 m_gsn;
- Uint32 m_phaseListId;
- Uint32 m_phaseListIndex;
-
ErrorInfo m_error;
SchemaTrans() {
m_clientRef = 0;
m_transId = 0;
m_masterRef = 0;
- m_op_ptr.setNull();
- m_iterator_ptr.setNull();
m_requestType = 0;
- m_gsn = 0;
- m_phaseListId = 0;
- m_phaseListIndex = 0;
+ m_iterator_ptr.setNull();
}
SchemaTrans(Uint32 the_trans_key) {
@@ -1497,22 +1485,23 @@
bool findSchemaTrans(SchemaTransPtr&, Uint32 trans_key);
void releaseSchemaTrans(SchemaTransPtr&);
+ PhaseIterator& getIterator(SchemaTransPtr trans_ptr);
+
// master
void schemaTrans_sendReq(Signal*, SchemaTransPtr, bool local);
- void schemaTrans_sendParseReq(Signal*, SchemaOpPtr);
void schemaTrans_recvReply(Signal*, bool isConf);
void createSubOps(Signal*, SchemaOpPtr);
// participant
void schemaTrans_recvReq(Signal*);
- void schemaTrans_sendConf(Signal*, SchemaTransPtr, Uint32 runInfo);
+ void schemaTrans_sendConf(Signal*, SchemaTransPtr, Uint32 runFlag);
void schemaTrans_sendRef(Signal*, SchemaTransPtr, ErrorInfo);
void schemaTrans_sendRef(Signal*, Uint32 masterRef, Uint32 trans_key,
ErrorInfo);
// execution
- void runSchemaTrans(Signal*, SchemaTransPtr, Uint32 runInfo);
- void runSchemaOp(Signal*, SchemaTransPtr);
+ void runSchemaTrans(Signal*, SchemaTransPtr, Uint32 runFlag);
+ void runSchemaOp(Signal*, SchemaOpPtr);
// PhaseList
@@ -1536,8 +1525,7 @@
struct OpIterator {
OpIterator(OpList& opList) :
- m_opList(opList)
- {
+ m_opList(opList) {
m_op_ptr.setNull();
}
OpList& m_opList;
@@ -1545,6 +1533,7 @@
};
SchemaOpPtr itGetPtr(const OpIterator&);
+ void itAddLast(OpIterator&, SchemaOpPtr);
bool itExists(const OpIterator&);
bool itFirst(OpIterator&);
bool itNext(OpIterator&);
@@ -1555,15 +1544,19 @@
// ArrayPool
Uint32 nextPool;
+ // list id shared between DICT instances
+ const Uint32 m_id;
+
const PhaseList m_phaseList;
Uint32 m_index;
OpIterator m_opIterator;
- PhaseIterator(const PhaseList& phaseList, OpList& opList) :
+ PhaseIterator(Uint32 id, const PhaseList& phaseList, OpList& opList) :
+ m_id(id),
m_phaseList(phaseList),
- m_index(0),
- m_opIterator(opList)
- {}
+ m_opIterator(opList) {
+ m_index = 0;
+ }
#ifdef VM_TRACE
void print(NdbOut& out) const;
#endif
@@ -1572,6 +1565,7 @@
ArrayPool<PhaseIterator> c_phaseIteratorPool;
SchemaOpPtr itGetPtr(const PhaseIterator&);
+ void itAddLast(PhaseIterator&, SchemaOpPtr);
bool itExists(const PhaseIterator&);
bool itFirst(PhaseIterator&);
bool itNext(PhaseIterator&);
@@ -1579,9 +1573,13 @@
// a dummy simple phase
void schemaTrans_dummy(Signal*, SchemaTransPtr);
- // there is only one instance now
- static const PhaseEntry g_thePhaseEntry[];
- static const PhaseList g_thePhaseList;
+ // list 0 - parse phase
+ static const PhaseEntry g_parsePhaseEntry[];
+ static const PhaseList g_parsePhaseList;
+
+ // list 1 - execution phases
+ static const PhaseEntry g_execPhaseEntry[];
+ static const PhaseList g_execPhaseList;
// MODULE: CreateTable
--- 1.4/storage/ndb/include/kernel/signaldata/SchemaTransImpl.hpp 2006-12-29 23:18:25 +02:00
+++ 1.5/storage/ndb/include/kernel/signaldata/SchemaTransImpl.hpp 2007-01-02 13:24:31 +02:00
@@ -63,13 +63,13 @@
struct SchemaTransImplConf {
STATIC_CONST( SignalLength = 3 );
- enum RunInfo {
- RI_FIRST = (1 << 0), // for DICT internal use
- RI_REPEAT = (1 << 1)
+ enum RunFlag {
+ RF_FIRST = (1 << 0), // for DICT internal use
+ RF_REPEAT = (1 << 1)
};
Uint32 senderRef;
Uint32 transKey;
- Uint32 runInfo;
+ Uint32 runFlag;
};
struct SchemaTransImplRef {
--- 1.3/storage/ndb/src/common/debugger/signaldata/SchemaTransImpl.cpp 2006-12-29 23:18:25 +02:00
+++ 1.4/storage/ndb/src/common/debugger/signaldata/SchemaTransImpl.cpp 2007-01-02 13:24:31 +02:00
@@ -29,13 +29,26 @@
fprintf(output, " requestInfo: %08x", sig->requestInfo);
fprintf(output, "\n");
Uint32 requestType = SchemaTransImplReq::getRequestType(sig->requestInfo);
+ char tmp[20];
+ sprintf(tmp, "%u", requestType);
+ const char* requestTypeName =
+ requestType == SchemaTransImplReq::RT_BEGIN ? "BEGIN" :
+ requestType == SchemaTransImplReq::RT_PARSE ? "PARSE" :
+ requestType == SchemaTransImplReq::RT_PREPARE_BEGIN ? "PREPARE_BEGIN" :
+ requestType == SchemaTransImplReq::RT_PREPARE ? "PREPARE" :
+ requestType == SchemaTransImplReq::RT_PREPARE_END ? "PREPARE_END" :
+ requestType == SchemaTransImplReq::RT_COMMIT_BEGIN ? "COMMIT_BEGIN" :
+ requestType == SchemaTransImplReq::RT_COMMIT ? "COMMIT" :
+ requestType == SchemaTransImplReq::RT_COMMIT_END ? "COMMIT_END" :
+ requestType == SchemaTransImplReq::RT_END ? "END" : tmp;
Uint32 gsn = SchemaTransImplReq::getGsn(sig->requestInfo);
Uint32 plNum = SchemaTransImplReq::getPhaseListNum(sig->requestInfo);
Uint32 plIndex = SchemaTransImplReq::getPhaseListIndex(sig->requestInfo);
fprintf(output, " requestType: %u", requestType);
+ fprintf(output, " [%s]", requestTypeName);
fprintf(output, " gsn: %u", gsn);
- fprintf(output, " plNum: %u", plNum);
- fprintf(output, " plIndex: %u", plIndex);
+ fprintf(output, " phaseListNum: %u", plNum);
+ fprintf(output, " phaseListIndex: %u", plIndex);
fprintf(output, "\n");
fprintf(output, " clientRef: %x", sig->clientRef);
fprintf(output, " transId: %x", sig->transId);
@@ -74,7 +87,7 @@
const SchemaTransImplConf* sig = (const SchemaTransImplConf*)theData;
fprintf(output, " senderRef: %x", sig->senderRef);
fprintf(output, " transKey: %x", sig->transKey);
- fprintf(output, " runInfo: %x", sig->runInfo);
+ fprintf(output, " runFlag: %x", sig->runFlag);
fprintf(output, "\n");
return true;
}
| Thread |
|---|
| • bk commit into 5.1 tree (pekka:1.2379) | pekka | 2 Jan |