[Linux-cluster] [openais]timer_attributes.type is missing

zhuyj zyjzyj2000 at gmail.com
Fri Mar 1 04:56:56 UTC 2013


On 03/01/2013 12:55 PM, zhuyj wrote:
> Hi,
>
>   If req_lib_tmr_timerreschedule->timer_attributes.type is
>   SA_TIME_ABSOLUTE, an absolute time value must be higher
>   than the current absolute time.According to the type, we
>   will compare the current time with an absolute time. If
>   the type is SA_TIME_ABSOLUTE, we will compare. Or else,
>   we do nothing;
>
> diff -urpN a/services/tmr.c b/services/tmr.c
> --- a/services/tmr.c
> +++ b/services/tmr.c
> @@ -442,7 +442,8 @@ static void message_handler_req_lib_tmr_
>
>      current_time = (SaTimeT)(api->timer_time_get());
>
> -    if (current_time > 
> req_lib_tmr_timerreschedule->timer_attributes.initialExpirationTime) {
> +    if ((SA_TIME_ABSOLUTE == 
> req_lib_tmr_timerreschedule->timer_attributes.type) &&
> +        (current_time > 
> req_lib_tmr_timerreschedule->timer_attributes.initialExpirationTime)) {
>          error = SA_AIS_ERR_INVALID_PARAM;
>          goto error_put;
>      }
> diff -urpN a/test/testtmr.c b/test/testtmr.c
> --- a/test/testtmr.c
> +++ b/test/testtmr.c
> @@ -86,8 +86,8 @@ int main (void)
>      SaTmrHandleT handle;
>      SaSelectionObjectT select_obj;
>      SaTmrTimerAttributesT attrs;
> -    SaTmrTimerAttributesT attrs_a = { SA_TIME_DURATION, 
> TMR_30_SECONDS, 0 };
> -    SaTmrTimerAttributesT attrs_b = { SA_TIME_DURATION, 
> TMR_30_SECONDS, 0 };
> +    SaTmrTimerAttributesT attrs_a = { SA_TIME_DURATION, 
> TMR_30_SECONDS, TMR_30_SECONDS };
> +    SaTmrTimerAttributesT attrs_b = { SA_TIME_DURATION, 
> TMR_30_SECONDS, TMR_30_SECONDS };
SaTmrTimerAttributesT attrs_b = { SA_TIME_DURATION, TMR_30_SECONDS, 0 };

Maybe it is better.
> SaTmrTimerAttributesT new_attrs_a = { SA_TIME_DURATION, 
> TMR_10_SECONDS, TMR_10_SECONDS };
>      SaTmrTimerAttributesT new_attrs_b = { SA_TIME_DURATION, 
> TMR_20_SECONDS, TMR_20_SECONDS };
>      SaTmrTimerIdT id_a;
>




More information about the Linux-cluster mailing list