aboutsummaryrefslogtreecommitdiff
path: root/docs/code/uvstop/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'docs/code/uvstop/main.c')
-rw-r--r--docs/code/uvstop/main.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/docs/code/uvstop/main.c b/docs/code/uvstop/main.c
new file mode 100644
index 00000000..7aa53b76
--- /dev/null
+++ b/docs/code/uvstop/main.c
@@ -0,0 +1,33 @@
+#include <stdio.h>
+#include <uv.h>
+
+int64_t counter = 0;
+
+void idle_cb(uv_idle_t *handle) {
+ printf("Idle callback\n");
+ counter++;
+
+ if (counter >= 5) {
+ uv_stop(uv_default_loop());
+ printf("uv_stop() called\n");
+ }
+}
+
+void prep_cb(uv_prepare_t *handle) {
+ printf("Prep callback\n");
+}
+
+int main() {
+ uv_idle_t idler;
+ uv_prepare_t prep;
+
+ uv_idle_init(uv_default_loop(), &idler);
+ uv_idle_start(&idler, idle_cb);
+
+ uv_prepare_init(uv_default_loop(), &prep);
+ uv_prepare_start(&prep, prep_cb);
+
+ uv_run(uv_default_loop(), UV_RUN_DEFAULT);
+
+ return 0;
+}