Module: xenomai-3
Branch: master
Commit: ba90c10bbd464bb19cb4d185f19bf862bca5aedf
URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ba90c10bbd464bb19cb4d185f19bf862bca5aedf

Author: Jan Kiszka <jan.kis...@siemens.com>
Date:   Fri Jan  9 21:41:39 2015 +0100

testsuite/smokey/xddp: Poll for registry link to appear

Registry updates happen asynchronously, and the NRT thread may fire up
before this. So spin until we find the desired entry. This avoids
sporadic test failures with open() failing on fast multicore machines.

Remove the unused and misleading sem_post from thread2 at this chance.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>

---

 testsuite/smokey/xddp/xddp.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/testsuite/smokey/xddp/xddp.c b/testsuite/smokey/xddp/xddp.c
index 6dca6e6..8c4a4af 100644
--- a/testsuite/smokey/xddp/xddp.c
+++ b/testsuite/smokey/xddp/xddp.c
@@ -137,7 +137,6 @@ static void *realtime_thread2(void *arg)
                fail("setsockopt");
 
        sem_sync(&semsync);
-       sem_post(&semsync); /* unleash regular thread */
 
        memset(&saddr, 0, sizeof(saddr));
        saddr.sipc_family = AF_RTIPC;
@@ -197,7 +196,9 @@ static void *regular_thread(void *arg)
                     XDDP_PORT_LABEL) < 0)
                fail("asprintf");
 
-       fd = open(devname, O_RDWR);
+       do
+               fd = open(devname, O_RDWR);
+       while (fd < 0 && errno == ENOENT);
        free(devname);
        if (fd < 0)
                fail("open");


_______________________________________________
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git

Reply via email to