Bug 326491 (part 0) - move timer shutdown up to somewhere reasonable, r=darin

This commit is contained in:
benjamin%smedbergs.us 2006-03-03 13:48:25 +00:00
Родитель b351aedcff
Коммит aa41d3e7e1
1 изменённых файлов: 7 добавлений и 4 удалений

Просмотреть файл

@ -645,6 +645,7 @@ NS_InitXPCOM3(nsIServiceManager* *result,
// The shutdown sequence for xpcom would be
//
// - Notify "xpcom-shutdown" for modules to release primary (root) references
// - Shutdown XPCOM timers
// - Notify "xpcom-shutdown-threads" for thread joins
// - Shutdown the event queues
// - Release the Global Service Manager
@ -695,6 +696,12 @@ NS_ShutdownXPCOM(nsIServiceManager* servMgr)
}
}
if (currentQ)
currentQ->ProcessPendingEvents();
// Shutdown the timer thread and all timers that might still be alive
nsTimerImpl::Shutdown();
if (currentQ)
currentQ->ProcessPendingEvents();
@ -769,10 +776,6 @@ NS_ShutdownXPCOM(nsIServiceManager* servMgr)
NS_ShutdownNativeCharsetUtils();
#endif
// Shutdown the timer thread and all timers that might still be alive before
// shutting down the component manager
nsTimerImpl::Shutdown();
// Shutdown xpcom. This will release all loaders and cause others holding
// a refcount to the component manager to release it.
if (nsComponentManagerImpl::gComponentManager) {