# HG changeset patch # User masataka # Date 1501322905 -32400 # Node ID 8940d1451a0dbc5fdbccc0d1c8773fe5107b76eb # Parent 590f03af1a2c362d26fedb18d275cfa1982b4a57 handle local continuation diff -r 590f03af1a2c -r 8940d1451a0d src/parallel_execution/context.h --- 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; diff -r 590f03af1a2c -r 8940d1451a0d src/parallel_execution/generate_stub.pl --- 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}} ) {