Maurits,

What is the purpose of WaitSets? I am using call backs without WaitSets (no 
polling) and it seems to work fine. I adapted the WaitSet demo to a real-world 
application. Without the while loop using WaitSets, it works fine.

Brian


From: developer-boun...@opensplice.org 
[mailto:developer-boun...@opensplice.org] On Behalf Of Maurits de Jong
Sent: Thursday, September 29, 2011 8:22 AM
To: OpenSplice DDS Developer Mailing List
Subject: Re: [OSPL-Dev] nanoSleep required between subscriber take() methods

Hi John,

The delay has been introduced in the example to keep the HelloWorld example 
very simple (e.g., no waitsets or listeners), but is not needed for proper 
functioning. By changing the example in such a way that it can loop requires a 
bit more modification. The loan is currently only released in the event of 
valid data which occurs only once in the unmodified example. Because the take 
is performed repeatedly now, the loan should also be released for the samples 
that do not have valid data. Moving the return_loan out of the conditional 
expression will probably solve your issue. Be advised though that unlimitedly 
fast polling is not really useful and you may want to follow the tutorial to 
get acquainted with listeners and waitsets.

With best regards,
Maurits
[Image removed by sender.]

Maurits de Jong

Senior Engineer

E-mail:   maurits.dej...@prismtech.com<mailto:niels.kortstee>
Tele:       +31-74-247-257-4
Web:     www.prismtech.com<http://www.prismtech.com/>

PrismTech is a global leader in standards-based, performance-critical 
middleware.  Our products enable our OEM, Systems Integrator, and End User 
customers to build and optimize high-performance systems primarily for 
Mil/Aero, Communications, Industrial, and Financial Markets.


On 28 September 2011 19:58, John Miller 
<john_f_mil...@me.com<mailto:john_f_mil...@me.com>> wrote:
It seems that most of the DDS examples have a nanoSleep with a value
relating to a 200mS delay in each of the subscribers processing
loops.  When i change the HelloWorld example's subscriber to
continuously "take" messages (i.e. not stop processing based on a
single message read or a max count through the loop) The example
breaks.  What happens is a second bogus message is read directly after
a valid first message arrives. Once this occurs the subscriber never
receives another message.  When i add the delay back into the loop,
the example works as expected.  Is this a known bug in the Community
Edition of OpenSplice ?

Thank you in advance for any help,
-John Miller

_______________________________________________
OpenSplice DDS Developer Mailing List
Developer@opensplice.org<mailto:Developer@opensplice.org>
Subscribe / Unsubscribe http://dev.opensplice.org/mailman/listinfo/developer

<<inline: image001.jpg>>

_______________________________________________
OpenSplice DDS Developer Mailing List
Developer@opensplice.org
Subscribe / Unsubscribe http://dev.opensplice.org/mailman/listinfo/developer

Reply via email to