Quote:
Originally Posted by JamesTerm
I believe the last issue remaining deals with the time it takes to connect to the time it takes to make the initial first write. I'm thinking of putting a sleep in there as well as taking a closer look at ConnectionMonitorThread::run()... I suspect this thread may not be sleeping in some cases... but I could be wrong.
|
No, no, no... I was wrong. I found this bug! grrrrr, ok it's now fixed... same place to get the zip and patch. Here's the full patch including Dustin's fixes.
https://www.dropbox.com/s/f4mcx9x0hj...tinPatch.patch
I'll explain... this latest fix is for the client side code mostly... what was happening is during the time when the server (robot) loses connection like rebooting the cRIO. The client code was still trying to issue reads and throwing exceptions... the fix knows when this has been closed and when the reconnect has been issued... so during that time it will stop issuing the reads. On some platforms (e.g. win32) the read would return bogus data, which is another issue, but the most important thing is that it should be calling the read when it knows it should succeed.
This has been a week of hair pulling for me... but now I think it is good to go. Of course the key to the success of this (like anything else) is a lot of testing. All of the other fixes are just as important as this one... they all are needed to resolve issue. I'm looking forward to hearing back from anyone who wants to test it before the official release. Thanks.
Now I'm signing off of this task... and going back to other code.
