- if (row_number != TIMER_NONE) /* if successfull **/
- {
- TIMEVAL real_timer_value;
- TIMEVAL elapsed_time;
-
- if (row_number == last_timer_raw + 1) last_timer_raw++;
-
- /* set next wakeup alarm if new entry is sooner than others, or if it is alone */
- real_timer_value = min_val(value, TIMEVAL_MAX);
- elapsed_time = getElapsedTime();
-
- /*printf("elapsed_time=%d real_timer_value=%d total_sleep_time=%d\n", elapsed_time, real_timer_value, total_sleep_time); */
- if (total_sleep_time > elapsed_time && total_sleep_time - elapsed_time > real_timer_value)
- {
- total_sleep_time = elapsed_time + real_timer_value;
- setTimer(real_timer_value);
- }
- /*printf("SetAlarm() return %d\n", row_number); */
- return row_number;
- }