summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/sbin/CreateScheduleBindings.pl19
-rw-r--r--lib/sbin/ScheduleParser.pl15
2 files changed, 23 insertions, 11 deletions
diff --git a/lib/sbin/CreateScheduleBindings.pl b/lib/sbin/CreateScheduleBindings.pl
index 259473b1..cfe49ca3 100644
--- a/lib/sbin/CreateScheduleBindings.pl
+++ b/lib/sbin/CreateScheduleBindings.pl
@@ -255,6 +255,7 @@ sub ScheduleBlock
my(@comm_groups);
my(@trigger_groups);
my(@sync_groups);
+ my(@options);
my(@before_list);
my(@after_list);
my(@while_list);
@@ -284,6 +285,8 @@ sub ScheduleBlock
$rhschedule_db->{"\U$thorn\E BLOCK_$block SYNC"},
$rhinterface_db);
+ @options = split(/,/, $rhschedule_db->{"\U$thorn\E BLOCK_$block SYNC"});
+
@before_list = &ScheduleSelectRoutines($thorn, $implementation,
$rhschedule_db->{"\U$thorn\E BLOCK_$block BEFORE"},
$rhschedule_db);
@@ -345,15 +348,17 @@ 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(@trigger_groups) . ", /* Number of TRIGGERS groups */\n";
- $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(@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(@sync_groups) . ", /* Number of SYNC groups */\n";
+ $buffer .= $indent . scalar(@options) . ", /* Number of Options */\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, @sync_groups, @before_list, @after_list, @while_list)
+ foreach $item (@mem_groups, @comm_groups, @trigger_groups, @sync_groups,
+ @options, @before_list, @after_list, @while_list)
{
$buffer .= ",\n" . $indent . "\"" . $item . "\"" ;
}
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);
}