Sha256: 8b868581e4706e69bb86058d5b60df926e3062e000fbe13bc1afda458a6566b8
Contents?: true
Size: 1.08 KB
Versions: 15
Compression:
Stored size: 1.08 KB
Contents
#include <stdio.h> #include <uv.h> uv_loop_t *loop; uv_fs_t stdin_watcher; uv_idle_t idler; char buffer[1024]; void crunch_away(uv_idle_t* handle) { // Compute extra-terrestrial life // fold proteins // computer another digit of PI // or similar fprintf(stderr, "Computing PI...\n"); // just to avoid overwhelming your terminal emulator uv_idle_stop(handle); } void on_type(uv_fs_t *req) { if (stdin_watcher.result > 0) { buffer[stdin_watcher.result] = '\0'; printf("Typed %s\n", buffer); uv_buf_t buf = uv_buf_init(buffer, 1024); uv_fs_read(loop, &stdin_watcher, 0, &buf, 1, -1, on_type); uv_idle_start(&idler, crunch_away); } else if (stdin_watcher.result < 0) { fprintf(stderr, "error opening file: %s\n", uv_strerror(req->result)); } } int main() { loop = uv_default_loop(); uv_idle_init(loop, &idler); uv_buf_t buf = uv_buf_init(buffer, 1024); uv_fs_read(loop, &stdin_watcher, 0, &buf, 1, -1, on_type); uv_idle_start(&idler, crunch_away); return uv_run(loop, UV_RUN_DEFAULT); }
Version data entries
15 entries across 15 versions & 2 rubygems