+static void *timer_default_alloc(struct timers *timers, size_t len)
+{
+ return malloc(len);
+}
+
+static void timer_default_free(struct timers *timers, void *p)
+{
+ free(p);
+}
+
+static void *(*timer_alloc)(struct timers *, size_t) = timer_default_alloc;
+static void (*timer_free)(struct timers *, void *) = timer_default_free;
+
+void timers_set_allocator(void *(*alloc)(struct timers *, size_t len),
+ void (*free)(struct timers *, void *p))
+{
+ if (!alloc)
+ alloc = timer_default_alloc;
+ if (!free)
+ free = timer_default_free;
+ timer_alloc = alloc;
+ timer_free = free;
+}
+