Scheduling of Components with DeployerComponent and Xml File

Hi,

we use the OCL Deployer to start our components via an Xml file. During our tests, I noticed that all components were using the ORO_SCHED_RT even though some were configured to use ORO_SCHED_OTHER. Our components use an non periodic activity.

Looking in the DeploymentComponent.cpp file I found, what I believe to be a bug on line 1088. Here there is a 2nd deceleration of int scheduler (first declared in line 1086). This means, that the value from the file (returned by the function 'string_to_oro_sched') has no effect because the 2nd variable 'scheduler' goes out of scope at the end of the if-statement. Since the 1st 'scheduler' is set to ORO_SCHED_RT by default, it is not possible to start a non periodic activity in ORO_SCHED_OTHER with an Xml file configuration.

By removing the 'int' in front of the 2nd 'scheduler' the code worked as expected.

Kind regards, Marcello

Scheduling of Components with DeployerComponent and Xml File

Hi Marcello,

On Fri, Jan 25, 2013 at 7:03 AM, <gandolfi [..] ...> wrote:
> Hi,
>
> we use the OCL Deployer to start our components via an Xml file. During our
> tests, I noticed that all components were using the ORO_SCHED_RT even though
> some were configured to use ORO_SCHED_OTHER. Our components use an non
> periodic activity.
>
> Looking in the DeploymentComponent.cpp file I found, what I believe to be a
> bug on line 1088. Here there is a 2nd deceleration of int scheduler (first
> declared in line 1086). This means, that the value from the file (returned by
> the function 'string_to_oro_sched') has no effect because the 2nd variable
> 'scheduler' goes out of scope at the end of the if-statement. Since the 1st
> 'scheduler' is set to ORO_SCHED_RT by default, it is not possible to start a
> non periodic activity in ORO_SCHED_OTHER with an Xml file configuration.
>
> By removing the 'int' in front of the 2nd 'scheduler' the code worked as
> expected.

Thanks for reporting ! I've pushed the fix to the toolchain-2.6 branch.

Peter