Fixes: https://bugs.linaro.org/show_bug.cgi?id=2146 (CID 159395)
The open system call is directely used to check the presence of the fifo
and open it at the same time.

Signed-off-by: Christophe Milard <christophe.mil...@linaro.org>
---
 since v2: bug URL added (Anders)
 since v1: changed loop to avoid open() line duplication (Maxim)

 platform/linux-generic/test/shmem/shmem_linux.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/platform/linux-generic/test/shmem/shmem_linux.c 
b/platform/linux-generic/test/shmem/shmem_linux.c
index 12266cc..0f15c9e 100644
--- a/platform/linux-generic/test/shmem/shmem_linux.c
+++ b/platform/linux-generic/test/shmem/shmem_linux.c
@@ -115,12 +115,14 @@ int main(int argc __attribute__((unused)), char *argv[])
         * Just die if time expire as there is no fifo to communicate
         * through... */
        sprintf(fifo_name, FIFO_NAME_FMT, odp_app);
-       while (access(fifo_name, W_OK) != 0) {
+       for (;;) {
+               fifo_fd = open(fifo_name, O_WRONLY);
+               if (fifo_fd >= 0)
+                       break;
                sleep(1);
-               if  (nb_sec++ == 30)
+               if (nb_sec++ == 30)
                        exit(1);
        }
-       fifo_fd = open(fifo_name, O_WRONLY);
        printf("pipe found\n");
 
        /* the linux named pipe has now been found, meaning that the
-- 
2.1.4

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to