TWebUpdate bug kills all sockets in app

There is bug in TWebUpdate.StopConnection method. If this method is called repeatedly, it doesn't check internal counter of WSAStartup/WSACleanup method pair and calls WSACleanup method more times. The consequence is that TWebUpdate (or more precisely TWebUpdateWizard / TWebUpdate component pair) cancels sockets for other modules in application. This results into indy listener thread (unrelated to TMS components) to repeatedly initializing itself, CPU utilization to go up and whole application cannot be controlled by user. I am unable to fix this in my code. The problem can be reproduced by repeatedly checking update server. In my application I am able to decrement WSAStartup counter to zero after third update check. Number of attempts depends on initial value of WSAStartup counter. When closing update wizard by clicking on Exit button method TWUWIZ::UpdateDone is called twice. I don't know why.

Thanks for reporting.
We applied a fix for this that will be included in the next update.

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.