1 | | Memory leak will occur when the application exits while there is still pending timer entry in the timer heap. This happens because some objects (e.g. sip_transaction) may refuse to be destroyed on certain cases. |
2 | | |
3 | | There are two potential solutions for this: |
4 | | 1. SIP transaction should always allow destroy request. |
5 | | 1. Timer heap should maintain list of active timer entries, and destroy these entries when the timer heap is destroyed. |
6 | | |
| 1 | When application exits, all transactions will be destroyed. However the transaction does not emit termination event to the transaction user (mostly dialog), thus these higher level objects will not be destroyed. |