[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



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;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]