aboutsummaryrefslogtreecommitdiff
path: root/test/functional/fixtures/streams-test.c
blob: 56d475d7dc9f0108a8c324b1541ebbb2b3fb2139 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/// Helper program to exit and keep stdout open (like "xclip -i -loops 1").
#include <stdio.h>

#include <uv.h>

uv_loop_t *loop;
uv_process_t child_req;
uv_process_options_t options;

int main(int argc, char **argv)
{
  loop = uv_default_loop();

  char * args[3];
  args[0] = "sleep";
  args[1] = "10";
  args[2] = NULL;

  options.exit_cb = NULL;
  options.file = "sleep";
  options.args = args;
  options.flags = UV_PROCESS_DETACHED;

  int r;
  if ((r = uv_spawn(loop, &child_req, &options))) {
    fprintf(stderr, "%s\n", uv_strerror(r));
    return 1;
  }
  fprintf(stderr, "pid: %d\n", child_req.pid);
  uv_unref((uv_handle_t *)&child_req);

  return uv_run(loop, UV_RUN_DEFAULT);
}