changeset 388:8940d1451a0d

handle local continuation
author masataka
date Sat, 29 Jul 2017 19:08:25 +0900
parents 590f03af1a2c
children d9a7620a1106
files src/parallel_execution/context.h src/parallel_execution/generate_stub.pl
diffstat 2 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/parallel_execution/context.h	Thu Jul 27 18:23:03 2017 +0900
+++ b/src/parallel_execution/context.h	Sat Jul 29 19:08:25 2017 +0900
@@ -140,6 +140,7 @@
         int maxCPU;
     } TaskManager;
     struct TaskManagerImpl {
+        enum Code next;
         int numWorker;
         int sendWorkerIndex;
         pthread_mutex_t mutex;
--- a/src/parallel_execution/generate_stub.pl	Thu Jul 27 18:23:03 2017 +0900
+++ b/src/parallel_execution/generate_stub.pl	Sat Jul 29 19:08:25 2017 +0900
@@ -375,7 +375,12 @@
                 my $prev = $1;
                 my $next = $2;
                 my @args = split(/,/,$3);
-                if (defined $code{$interface}->{$next}) { 
+                my $v = 0;
+                for my $n ( @{$dataGearVar{$codeGearName}} ) {
+                     # continuation arguments 
+                    $v = 1  if ( $n eq $next);
+                }
+                if ($v || defined $code{$interface}->{$next}) { 
                     # write continuation's arguments into the interface arguments
                     # we may need a commit for a shared DataGear
                     for my $arg ( @{$outputArgs{$codeGearName}->{$next}} ) {