Opened 7 years ago

Last modified 7 years ago

#261 new enhancement

Require a restart of dependent apps or a reboot when updating DLLs

Reported by: dmik Owned by:
Priority: major Milestone:
Component: rpm Version:
Severity: medium Keywords:
Cc:

Description

When RPM happens to update DLLs which are in use during the update process it uses DosReplaceModule to safely replace these DLLs. However, the old DLLs will get cached by OS/2 in such a case so any application (including those started *after* the replace) will continue to use the old version until all application using it get closed or restated or the system is rebooted. In some cases, this will lead to application malfunction or crashes (see #260 for more info).

Since RPM knows which DLLs are being replaced, it may find out which running applications are using it (using DosQuerySysState API) and offer the user a choice to close them or to simply reboot the system. If the user refuses to close all involved apps or to reboot, RPM should prevent any further operation including package installation, update or removal until the needed action is performed.

Change History (1)

comment:1 by dmik, 7 years ago

Note that there are some situations when restarting applications will not help and only a reboot is suitable. This includes updates to CONFIG.SYS and to OS/2 drivers (which are loaded during the boot process and can't be "reloaded" later). I created #262 for it as it has its own nuances.

Note: See TracTickets for help on using tickets.