fix: write EINTR handling
[lttng-tools.git] / src / common / runas.c
index 3a89cc9ab8d1f73795ca2d9f963fd34423911cbb..43b154f10869de2e85a57bb7bcc03c7bb646bb72 100644 (file)
@@ -192,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.023588 seconds and 4 git commands to generate.