Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/time/timeout.h

    r111b9b9 ra6e55886  
    4242typedef void (*timeout_handler_t)(void *arg);
    4343
    44 typedef uint64_t deadline_t;
    45 #define DEADLINE_NEVER ((deadline_t) UINT64_MAX)
     44typedef struct {
     45        IRQ_SPINLOCK_DECLARE(lock);
    4646
    47 typedef struct {
    48         /** Link to the list of active timeouts on timeout->cpu */
     47        /** Link to the list of active timeouts on CURRENT->cpu */
    4948        link_t link;
    50         /** Timeout will be activated when current clock tick reaches this value. */
    51         deadline_t deadline;
     49        /** Timeout will be activated in this amount of clock() ticks. */
     50        uint64_t ticks;
    5251        /** Function that will be called on timeout activation. */
    5352        timeout_handler_t handler;
     
    5655        /** On which processor is this timeout registered. */
    5756        cpu_t *cpu;
    58         /** Used to synchronize with the handler callback. */
    59         atomic_bool finished;
    6057} timeout_t;
    6158
    6259#define us2ticks(us)  ((uint64_t) (((uint32_t) (us) / (1000000 / HZ))))
    6360
    64 extern deadline_t timeout_deadline_in_usec(uint32_t us);
    65 
    6661extern void timeout_init(void);
    6762extern void timeout_initialize(timeout_t *);
     63extern void timeout_reinitialize(timeout_t *);
    6864extern void timeout_register(timeout_t *, uint64_t, timeout_handler_t, void *);
    69 extern void timeout_register_deadline(timeout_t *, deadline_t, timeout_handler_t, void *);
    7065extern bool timeout_unregister(timeout_t *);
    7166
Note: See TracChangeset for help on using the changeset viewer.