diff third_party/libuv/docs/code/ref-timer/main.c @ 160:948de3f54cea

[ThirdParty] Added libuv
author June Park <parkjune1995@gmail.com>
date Wed, 14 Jan 2026 19:39:52 -0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/third_party/libuv/docs/code/ref-timer/main.c	Wed Jan 14 19:39:52 2026 -0800
@@ -0,0 +1,29 @@
+#include <stdio.h>
+
+#include <uv.h>
+
+uv_loop_t *loop;
+uv_timer_t gc_req;
+uv_timer_t fake_job_req;
+
+void gc(uv_timer_t *handle) {
+    fprintf(stderr, "Freeing unused objects\n");
+}
+
+void fake_job(uv_timer_t *handle) {
+    fprintf(stdout, "Fake job done\n");
+}
+
+int main() {
+    loop = uv_default_loop();
+
+    uv_timer_init(loop, &gc_req);
+    uv_unref((uv_handle_t*) &gc_req);
+
+    uv_timer_start(&gc_req, gc, 0, 2000);
+
+    // could actually be a TCP download or something
+    uv_timer_init(loop, &fake_job_req);
+    uv_timer_start(&fake_job_req, fake_job, 9000, 0);
+    return uv_run(loop, UV_RUN_DEFAULT);
+}