openweave/openweave-core

SoftwareUpdateManager does not close ImageQuery exchange

jaylogue opened this issue · 1 comments

The code in GenericSoftwareUpdateManagerImpl<> does not properly close the exchange context used for the SWU:ImageQuery request. The exchange context is technically not leaked, as it gets released (via Abort()) the next time a software update check happens. But context remains allocated for all the intervening time between update checks, adding to memory pressure.

One consequence of the lack of a call to ExchangeContext::Close() is that the stand-alone ACK that should be sent after reception of the ImageQueryResponse gets delayed, or in some cases not sent at all. This can lead to unnecessary re-transmissions of the ImageQueryResponse from the service.

Fixed.