summaryrefslogtreecommitdiff
path: root/lib/sbin/ScheduleParser.pl
diff options
context:
space:
mode:
authorgoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>2000-01-28 02:47:03 +0000
committergoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>2000-01-28 02:47:03 +0000
commita6a1158bcd853931538dafd7bca42784f87c0527 (patch)
tree26d7aa7076a3d5c592f17d41d81dd3f1e9c32633 /lib/sbin/ScheduleParser.pl
parent29854817adc4f1d319917352fc327b5a706d9cf2 (diff)
Now, subject to review, you can put
OPTIONS:... in a schedule block to pass miscellaneous options to the schedular. Currently the only option is "Global" which sets a flag on the FunctionData structure passed to the call function. This option only makes sense for a scheduled function, not a schedule group, though this may change in the future. It is used to indicate to the calling function that this function should only be called once as it performs global operations. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1325 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'lib/sbin/ScheduleParser.pl')
-rw-r--r--lib/sbin/ScheduleParser.pl15
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/sbin/ScheduleParser.pl b/lib/sbin/ScheduleParser.pl
index 05f20b5e..8df7e9a2 100644
--- a/lib/sbin/ScheduleParser.pl
+++ b/lib/sbin/ScheduleParser.pl
@@ -90,7 +90,7 @@ sub parse_schedule_ccl
($line_number,
$name, $type, $description, $where, $language,
$mem_groups, $comm_groups, $trigger_groups, $sync_groups,
- $before_list, $after_list, $while_list) = &ParseScheduleBlock($line_number, @data);
+ $options,$before_list, $after_list, $while_list) = &ParseScheduleBlock($line_number, @data);
$schedule_db{"\U$thorn\E BLOCK_$n_blocks NAME"} = $name;
$schedule_db{"\U$thorn\E BLOCK_$n_blocks TYPE"} = $type;
@@ -101,6 +101,7 @@ sub parse_schedule_ccl
$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 OPTIONS"} = $options;
$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;
@@ -148,7 +149,7 @@ sub ParseScheduleBlock
my($line_number, @data) = @_;
my($name, $type, $description, $where, $language,
$mem_groups, $comm_groups, $trigger_groups, $sync_groups,
- $before_list, $after_list, $while_list);
+ $options, $before_list, $after_list, $while_list);
my(@fields);
my($field);
my(@before_list) = ();
@@ -157,7 +158,8 @@ sub ParseScheduleBlock
my(@mem_groups) = ();
my(@comm_groups) = ();
my(@trigger_groups) = ();
- my(@sync_groups) = ();
+ my(@sync_groups) = ();
+ my(@options) = ();
my($keyword) = "";
my(@current_sched_list) = ();
@@ -364,6 +366,10 @@ sub ParseScheduleBlock
{
push(@sync_groups, split(/\s,/, $1));
}
+ elsif($data[$line_number] =~ m/^\s*OPTI[^:]*:\s*(.*)$/i)
+ {
+ push(@options, split(/\s,/, $1));
+ }
elsif($data[$line_number] =~ m/^\s*LANG[^:]*:\s*(.*)$/i)
{
if($language ne "")
@@ -403,6 +409,7 @@ sub ParseScheduleBlock
$comm_groups = join(",", @comm_groups);
$trigger_groups = join(",", @trigger_groups);
$sync_groups = join(",", @sync_groups);
+ $options = join(",", @options);
$before_list = join(",", @before_list);
$after_list = join(",", @after_list);
$while_list = join(",", @while_list);
@@ -411,7 +418,7 @@ sub ParseScheduleBlock
return ($line_number,
$name, $type, $description, $where, $language,
$mem_groups, $comm_groups, $trigger_groups, $sync_groups,
- $before_list, $after_list, $while_list);
+ $options,$before_list, $after_list, $while_list);
}