Add time validation to health check
[lttng-tools.git] / src / common / runas.c
index 2c2015aa2d5b8206bca9052320553f8da78d431d..43b154f10869de2e85a57bb7bcc03c7bb646bb72 100644 (file)
@@ -153,13 +153,14 @@ int _open(void *_data)
 static
 int child_run_as(void *_data)
 {
+       int ret;
        struct run_as_data *data = _data;
-       size_t writelen, writeleft, index;
+       ssize_t writelen;
+       size_t writeleft, index;
        union {
                int i;
                char c[sizeof(int)];
        } sendret;
-       int ret;
 
        /*
         * Child: it is safe to drop egid and euid while sharing the
@@ -191,8 +192,10 @@ int child_run_as(void *_data)
        writeleft = sizeof(sendret);
        index = 0;
        do {
-               writelen = write(data->retval_pipe, &sendret.c[index],
-                               writeleft);
+               do {
+                       writelen = write(data->retval_pipe, &sendret.c[index],
+                                       writeleft);
+               } while (writelen < 0 && errno == EINTR);
                if (writelen < 0) {
                        PERROR("write");
                        return EXIT_FAILURE;
This page took 0.024195 seconds and 4 git commands to generate.