Module: xenomai-jki
Branch: for-forge
Commit: ee639dfc8569d290327b749a639fbb391b9c9eb4
URL:    
http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=ee639dfc8569d290327b749a639fbb391b9c9eb4

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