List:Commits« Previous MessageNext Message »
From:Magnus Blåudd Date:October 9 2009 8:15am
Subject:bzr commit into mysql-5.1-telco-7.0 branch (magnus.blaudd:3103)
Bug#44607
View as plain text  
#At file:///home/msvensson/mysql/7.0/ based on revid:jack@strippedo

 3103 Magnus Blåudd	2009-10-09
      Bug#44607 Ndb : Fragmented long signals need node failure handling code
       - Fix compilation error caused by compiler that does not like anon union with anon struct

    modified:
      storage/ndb/include/kernel/signaldata/ContinueFragmented.hpp
      storage/ndb/src/kernel/vm/SimulatedBlock.cpp
=== modified file 'storage/ndb/include/kernel/signaldata/ContinueFragmented.hpp'
--- a/storage/ndb/include/kernel/signaldata/ContinueFragmented.hpp	2009-10-08 10:19:19 +0000
+++ b/storage/ndb/include/kernel/signaldata/ContinueFragmented.hpp	2009-10-09 08:15:14 +0000
@@ -57,7 +57,7 @@ private:
       Uint32 cursor;
       Uint32 elementsCleaned;
       Uint32 callbackStart; /* Callback structure placed here */
-    };
+    } cleanup;
   };
 };
 

=== modified file 'storage/ndb/src/kernel/vm/SimulatedBlock.cpp'
--- a/storage/ndb/src/kernel/vm/SimulatedBlock.cpp	2009-10-08 11:15:24 +0000
+++ b/storage/ndb/src/kernel/vm/SimulatedBlock.cpp	2009-10-09 08:15:14 +0000
@@ -1853,13 +1853,13 @@ SimulatedBlock::execCONTINUE_FRAGMENTED(
               callbackWords);
     
     Callback cb;
-    memcpy(&cb, &sig->callbackStart, callbackWords << 2);
+    memcpy(&cb, &sig->cleanup.callbackStart, callbackWords << 2);
 
     doNodeFailureCleanup(signal,
-                         sig->failedNodeId,
-                         sig->resource,
-                         sig->cursor,
-                         sig->elementsCleaned,
+                         sig->cleanup.failedNodeId,
+                         sig->cleanup.resource,
+                         sig->cleanup.cursor,
+                         sig->cleanup.elementsCleaned,
                          cb);
     break;
   }
@@ -2503,15 +2503,15 @@ SimulatedBlock::doNodeFailureCleanup(Sig
   
   ContinueFragmented * sig = (ContinueFragmented*)signal->getDataPtrSend();
   sig->type = ContinueFragmented::CONTINUE_CLEANUP;
-  sig->failedNodeId = failedNodeId;
-  sig->resource = resource;
-  sig->cursor = cursor;
-  sig->elementsCleaned= elementsCleaned;
+  sig->cleanup.failedNodeId = failedNodeId;
+  sig->cleanup.resource = resource;
+  sig->cleanup.cursor = cursor;
+  sig->cleanup.elementsCleaned= elementsCleaned;
   Uint32 callbackWords = (sizeof(Callback) + 3) >> 2;
   Uint32 sigLen = ContinueFragmented::CONTINUE_CLEANUP_FIXED_WORDS + 
     callbackWords;
   ndbassert(sigLen <= 25); // Should be STATIC_ASSERT
-  memcpy(&sig->callbackStart, &cb, callbackWords << 2);
+  memcpy(&sig->cleanup.callbackStart, &cb, callbackWords << 2);
   
   sendSignal(reference(), GSN_CONTINUE_FRAGMENTED, signal, sigLen, JBB);
 

Attachment: [text/bzr-bundle] bzr/magnus.blaudd@sun.com-20091009081514-69tmo3bexd98p3q1.bundle
Thread
bzr commit into mysql-5.1-telco-7.0 branch (magnus.blaudd:3103)Bug#44607Magnus Blåudd9 Oct
  • Re: bzr commit into mysql-5.1-telco-7.0 branch (magnus.blaudd:3103)Bug#44607Frazer Clement9 Oct