
C-Lib Changes and Enhancements
Enhance your development process with these noteworthy C-Lib changes. Learn about refactoring techniques, avoiding deadlock situations, VxWorks task tracing, and more to optimize your code efficiency. Discover essential additions and improvements to streamline your coding experience.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
TINE CORE MEETING 25.5.2016
Noteworthy C-Lib Changes Refactoring (thanks to TANGO) Use gIsCyclePollingMode instead of POLLING , SELECTING . e.g. becomes linkTbl mutex protection inside checkConnections().
Noteworthy C-Lib Changes linkTbl mutex protection Notice anything suspicious ?
Noteworthy C-Lib Changes avoid a potential deadlock when debugging is ON and there are send socket errors also in this regard: treat 'printf' as a 'send' (as it is on VxWorks). inside dbglog() : dbgprintf() :
Noteworthy C-Lib Changes VxWorks task trace .
Noteworthy C-Lib Changes introduce Set/GetSuspendCallbacks() e.g. use around calls to ExecLink() added a 'flush address' and 'flush cache' to the console commands To force server address reacquisition now ! fixed timereq = 0 in _attachLink so as to avoid long wait in establishing TCP connection From prepSubRequest()
Noteworthy C-Lib Changes long wait in establishing TCP connection Anywhere from 0 to 1000 msec ! Was not caught by unit server/unit client Now it is!
Noteworthy C-Lib Changes respect the bound and mca links in getLinkIdFromCallbackId() Necessary addition !
Noteworthy C-Lib Changes Set/GetPutCommandsInCmdlog() to accompany the new commands.log commands.log in addition to fec.log add routine sckadrcmp() to replace a memcmp() on a comparison of SCKADR objects used in access lock comparison.