Skip to content

Commit 0f7535f

Browse files
peterfangwenlingz
authored andcommitted
dm: add absolute timer mode
Allow specifying the initial expiration in absolute time. Tracked-On: #2319 Signed-off-by: Peter Fang <peter.fang@intel.com> Acked-by: Anthony Xu <anthony.xu@intel.com>
1 parent d1e1aa3 commit 0f7535f

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

devicemodel/core/timer.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ acrn_timer_deinit(struct acrn_timer *timer)
102102
}
103103

104104
int32_t
105-
acrn_timer_settime(struct acrn_timer *timer, struct itimerspec *new_value)
105+
acrn_timer_settime(struct acrn_timer *timer, const struct itimerspec *new_value)
106106
{
107107
if (timer == NULL) {
108108
return -1;
@@ -111,6 +111,17 @@ acrn_timer_settime(struct acrn_timer *timer, struct itimerspec *new_value)
111111
return timerfd_settime(timer->fd, 0, new_value, NULL);
112112
}
113113

114+
int32_t
115+
acrn_timer_settime_abs(struct acrn_timer *timer,
116+
const struct itimerspec *new_value)
117+
{
118+
if (timer == NULL) {
119+
return -1;
120+
}
121+
122+
return timerfd_settime(timer->fd, TFD_TIMER_ABSTIME, new_value, NULL);
123+
}
124+
114125
int32_t
115126
acrn_timer_gettime(struct acrn_timer *timer, struct itimerspec *cur_value)
116127
{

devicemodel/include/timer.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ acrn_timer_init(struct acrn_timer *timer, void (*cb)(void *), void *param);
1919
void
2020
acrn_timer_deinit(struct acrn_timer *timer);
2121
int32_t
22-
acrn_timer_settime(struct acrn_timer *timer, struct itimerspec *new_value);
22+
acrn_timer_settime(struct acrn_timer *timer, const struct itimerspec *new_value);
23+
int32_t
24+
acrn_timer_settime_abs(struct acrn_timer *timer,
25+
const struct itimerspec *new_value);
2326
int32_t
2427
acrn_timer_gettime(struct acrn_timer *timer, struct itimerspec *cur_value);
2528

0 commit comments

Comments
 (0)