diff options
author | goodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2000-01-27 23:51:21 +0000 |
---|---|---|
committer | goodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2000-01-27 23:51:21 +0000 |
commit | 7bf4dbb5a0de2a1cb88a4dd391f4396b547b6780 (patch) | |
tree | 7433949b0c1148e863ff518eec9ee6ae3d8551a5 /lib/sbin | |
parent | 1a53d2c962018be2fa3f7299f4fbdae342149768 (diff) |
Added
SYNC[HRONISE]: <group list>
as an option to the schedule.ccl.
This will be used to tell the flesh or the driver to synchronise
these groups after the function has been executed.
Tom
NOTE: You will need to do a
gmake <config>-rebuild
after this update as the bindings stuff has changed.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1318 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'lib/sbin')
-rw-r--r-- | lib/sbin/CreateScheduleBindings.pl | 13 | ||||
-rw-r--r-- | lib/sbin/ScheduleParser.pl | 15 |
2 files changed, 18 insertions, 10 deletions
diff --git a/lib/sbin/CreateScheduleBindings.pl b/lib/sbin/CreateScheduleBindings.pl index 198d8568..27598203 100644 --- a/lib/sbin/CreateScheduleBindings.pl +++ b/lib/sbin/CreateScheduleBindings.pl @@ -341,14 +341,15 @@ sub ScheduleBlock $buffer .= $indent . "\"" . $language . "\"" . ",\n"; } - $buffer .= $indent . scalar(@mem_groups) . ", /* Number of STORAGE groups */\n"; - $buffer .= $indent . scalar(@comm_groups) . ", /* Number of COMM groups */\n"; + $buffer .= $indent . scalar(@mem_groups) . ", /* Number of STORAGE groups */\n"; + $buffer .= $indent . scalar(@comm_groups) . ", /* Number of COMM groups */\n"; $buffer .= $indent . scalar(@trigger_groups) . ", /* Number of TRIGGERS groups */\n"; - $buffer .= $indent . scalar(@before_list) . ", /* Number of BEFORE routines */\n"; - $buffer .= $indent . scalar(@after_list) . ", /* Number of AFTER routines */\n"; - $buffer .= $indent . scalar(@while_list) . " /* Number of WHILE variables */"; + $buffer .= $indent . scalar(@sync_groups) . ", /* Number of SYNC groups */\n"; + $buffer .= $indent . scalar(@before_list) . ", /* Number of BEFORE routines */\n"; + $buffer .= $indent . scalar(@after_list) . ", /* Number of AFTER routines */\n"; + $buffer .= $indent . scalar(@while_list) . " /* Number of WHILE variables */"; - foreach $item (@mem_groups, @comm_groups, @trigger_groups, @before_list, @after_list, @while_list) + foreach $item (@mem_groups, @comm_groups, @trigger_groups, @sync_groups, @before_list, @after_list, @while_list) { $buffer .= ",\n" . $indent . "\"" . $item . "\"" ; } diff --git a/lib/sbin/ScheduleParser.pl b/lib/sbin/ScheduleParser.pl index e5fe1889..05f20b5e 100644 --- a/lib/sbin/ScheduleParser.pl +++ b/lib/sbin/ScheduleParser.pl @@ -75,7 +75,7 @@ sub parse_schedule_ccl my($n_blocks); my($n_statements); my($name, $type, $description, $where, $language, - $mem_groups, $comm_groups, $trigger_groups, + $mem_groups, $comm_groups, $trigger_groups, $sync_groups, $before_list, $after_list, $while_list); my($groups); @@ -89,7 +89,7 @@ sub parse_schedule_ccl { ($line_number, $name, $type, $description, $where, $language, - $mem_groups, $comm_groups, $trigger_groups, + $mem_groups, $comm_groups, $trigger_groups, $sync_groups, $before_list, $after_list, $while_list) = &ParseScheduleBlock($line_number, @data); $schedule_db{"\U$thorn\E BLOCK_$n_blocks NAME"} = $name; @@ -100,6 +100,7 @@ sub parse_schedule_ccl $schedule_db{"\U$thorn\E BLOCK_$n_blocks STOR"} = $mem_groups; $schedule_db{"\U$thorn\E BLOCK_$n_blocks COMM"} = $comm_groups; $schedule_db{"\U$thorn\E BLOCK_$n_blocks TRIG"} = $trigger_groups; + $schedule_db{"\U$thorn\E BLOCK_$n_blocks SYNC"} = $sync_groups; $schedule_db{"\U$thorn\E BLOCK_$n_blocks BEFORE"} = $before_list; $schedule_db{"\U$thorn\E BLOCK_$n_blocks AFTER"} = $after_list; $schedule_db{"\U$thorn\E BLOCK_$n_blocks WHILE"} = $while_list; @@ -146,7 +147,7 @@ sub ParseScheduleBlock { my($line_number, @data) = @_; my($name, $type, $description, $where, $language, - $mem_groups, $comm_groups, $trigger_groups, + $mem_groups, $comm_groups, $trigger_groups, $sync_groups, $before_list, $after_list, $while_list); my(@fields); my($field); @@ -156,6 +157,7 @@ sub ParseScheduleBlock my(@mem_groups) = (); my(@comm_groups) = (); my(@trigger_groups) = (); + my(@sync_groups) = (); my($keyword) = ""; my(@current_sched_list) = (); @@ -358,6 +360,10 @@ sub ParseScheduleBlock { push(@trigger_groups, split(/\s,/, $1)); } + elsif($data[$line_number] =~ m/^\s*SYNC[^:]*:\s*(.*)$/i) + { + push(@sync_groups, split(/\s,/, $1)); + } elsif($data[$line_number] =~ m/^\s*LANG[^:]*:\s*(.*)$/i) { if($language ne "") @@ -396,6 +402,7 @@ sub ParseScheduleBlock $mem_groups = join(",", @mem_groups); $comm_groups = join(",", @comm_groups); $trigger_groups = join(",", @trigger_groups); + $sync_groups = join(",", @sync_groups); $before_list = join(",", @before_list); $after_list = join(",", @after_list); $while_list = join(",", @while_list); @@ -403,7 +410,7 @@ sub ParseScheduleBlock return ($line_number, $name, $type, $description, $where, $language, - $mem_groups, $comm_groups, $trigger_groups, + $mem_groups, $comm_groups, $trigger_groups, $sync_groups, $before_list, $after_list, $while_list); } |