mirror of
https://github.com/genodelabs/genode.git
synced 2025-03-22 12:06:00 +00:00
DDE kit: Timer add schedule function form timers
Added 'dde_kit_timer_schedule_absolute' to timer interface.
This commit is contained in:
parent
b6896cf22f
commit
376983ae4c
@ -62,6 +62,16 @@ struct dde_kit_timer *dde_kit_timer_add(void (*fn)(void *), void *priv,
|
||||
*/
|
||||
void dde_kit_timer_del(struct dde_kit_timer *timer);
|
||||
|
||||
|
||||
/**
|
||||
* Schedule absolute timeout
|
||||
*
|
||||
* \param timer timer reference
|
||||
* \param timeout absolute timeout (in DDE kit ticks)
|
||||
*/
|
||||
void dde_kit_timer_schedule_absolute(struct dde_kit_timer *timer, unsigned long timeout);
|
||||
|
||||
|
||||
/**
|
||||
* Check whether a timer is pending
|
||||
*
|
||||
|
@ -149,8 +149,12 @@ class dde_kit_timer : public Alarm, public List<dde_kit_timer>::Element
|
||||
public:
|
||||
|
||||
dde_kit_timer(void (*handler)(void *), void *priv, unsigned long absolute_timeout)
|
||||
: _handler(handler), _priv(priv), _pending(true)
|
||||
: _handler(handler), _priv(priv), _pending(true) {
|
||||
schedule(absolute_timeout); }
|
||||
|
||||
void schedule(unsigned long absolute_timeout)
|
||||
{
|
||||
_pending = true;
|
||||
_timer_thread->schedule_absolute(this, absolute_timeout);
|
||||
}
|
||||
|
||||
@ -183,6 +187,10 @@ extern "C" struct dde_kit_timer *dde_kit_timer_add(void (*fn)(void *), void *pri
|
||||
}
|
||||
|
||||
|
||||
extern "C" void dde_kit_timer_schedule_absolute(struct dde_kit_timer *timer, unsigned long timeout) {
|
||||
timer->schedule(timeout); }
|
||||
|
||||
|
||||
extern "C" void dde_kit_timer_del(struct dde_kit_timer *timer)
|
||||
{
|
||||
try {
|
||||
|
Loading…
x
Reference in New Issue
Block a user