#include <stdio.h>
#include <unistd.h>
#include <uv.h>
static void timer_cb(uv_timer_t* handle, int status) {
}
int main() {
uv_loop_t *l= uv_loop_new();
uv_timer_t t;
uv_timer_init(l, &t);
uv_timer_start(&t, timer_cb, 100, 0);
uv_timer_stop(&t);
sleep(2);
uv_timer_init(l, &t);
// l->time has not been updated, that's why t.timeout will be expiring immediatedly
uv_timer_start(&t, timer_cb, 1000, 0);
uv_run(l, UV_RUN_DEFAULT);
uv_loop_delete(l);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1ZGUgPHV2Lmg+CgoKc3RhdGljIHZvaWQgdGltZXJfY2IodXZfdGltZXJfdCogaGFuZGxlLCBpbnQgc3RhdHVzKSB7CiAgcHJpbnRmKCJ0aW1lb3V0XG4iKTsKfQoKCmludCBtYWluKCkgewogIHV2X2xvb3BfdCAqbD0gdXZfbG9vcF9uZXcoKTsKICB1dl90aW1lcl90IHQ7CgogIHV2X3RpbWVyX2luaXQobCwgJnQpOwogIHV2X3RpbWVyX3N0YXJ0KCZ0LCB0aW1lcl9jYiwgMTAwLCAwKTsKICB1dl90aW1lcl9zdG9wKCZ0KTsKICBzbGVlcCgyKTsKICB1dl90aW1lcl9pbml0KGwsICZ0KTsKICAvLyBsLT50aW1lIGhhcyBub3QgYmVlbiB1cGRhdGVkLCB0aGF0J3Mgd2h5IHQudGltZW91dCB3aWxsIGJlIGV4cGlyaW5nIGltbWVkaWF0ZWRseQogIHV2X3RpbWVyX3N0YXJ0KCZ0LCB0aW1lcl9jYiwgMTAwMCwgMCk7CiAgcHJpbnRmKCJOb3dcbiIpOwogIHV2X3J1bihsLCBVVl9SVU5fREVGQVVMVCk7CiAgdXZfbG9vcF9kZWxldGUobCk7Cn0K