[Development] Qt's Leak-on-exit policy

Sorvig Morten Morten.Sorvig at digia.com
Wed Dec 18 10:34:37 CET 2013

On 18 Dec 2013, at 01:22, Thiago Macieira <thiago.macieira at intel.com> wrote:
> If it turns out that the failure to destroy is harmless, I'm not sure we 
> should do anything. If it's harmless, that means the extra work required to 
> free the memory is wasted, since it has no benefit to anyone. Just wasted CPU 
> cycles.

An interesting trend on the Apple platforms is not having a clean app shutdown. The OS will terminate the process when the user indicates it’s no longer in use, for example by switching to another app or closing all the application windows.

This suggests two levels of support from Qt:

1) Support a clean shutdown for applications and/or operating systems that require this. We go the extra mile to make sure Qt works well with leak detecting tools.

2) Support “process terminate” style shutdown for applications that require a fast shutdown. This shutdown could be initiated by the OS or by the application. The requirements for this lie in the area of the application not doing much processing on shutdown (auto-saving settings immediately for example), and Qt protecting itself from termination during critical operations such as writing QSettings to disk or having a background file transfer in progress.


More information about the Development mailing list