gecko-dev/xpcom/threads
Valentin Gosu 412446f4bc Bug 1500861 - Add shutdownWithTimeout method to nsIThreadPool r=froydnj,erahm
This method is necessary because some threads might be stuck making blocking
calls. This means the thread is not processing any events, and we're unable
to safely terminate it. Our solution here is to leak the stuck threads
instead of waiting for them and potentially causing a shutdown hang.

Differential Revision: https://phabricator.services.mozilla.com/D9601

--HG--
extra : moz-landing-system : lando
2018-10-26 18:46:00 +00:00
..
AbstractEventQueue.h Bug 1477512: Part 1 - Add memory reporter functions to thread event queues. r=erahm 2018-07-21 14:16:50 -07:00
AbstractThread.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
AbstractThread.h Bug 1465452 Part 12 - Record refcount changes for abstract threads, r=froydnj. 2018-07-21 14:35:23 +00:00
BlockingResourceBase.cpp Bug 1265824 - Add StaticMonitor r=froydnj 2018-06-29 15:27:22 -07:00
BlockingResourceBase.h Bug 1423773 - Part 1: Remove usage of nsStringGlue.h. r=glandium 2017-12-06 16:52:51 -08:00
CondVar.h Bug 1265824 - Add StaticMonitor r=froydnj 2018-06-29 15:27:22 -07:00
CooperativeThreadPool.cpp Bug 1412191 - Fix CooperativeThreadPool thread count assertion (r=froydnj) 2017-11-11 21:04:20 -08:00
CooperativeThreadPool.h
CPUUsageWatcher.cpp Backed out changeset 531593bacc4e (bug 1448040) for Android build bustages on HangAnnotations.h. CLOSED TREE 2018-06-07 19:22:31 +03:00
CPUUsageWatcher.h Bug 1453795 - XPCOM - Initialize member fields in classes/ structures. r=froydnj 2018-06-15 14:41:20 +03:00
DeadlockDetector.h Bug 1207696 Part 4k - Don't record deadlock detector lock, r=froydnj. 2018-07-21 14:26:15 +00:00
EventQueue.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
EventQueue.h Bug 1477512: Part 1 - Add memory reporter functions to thread event queues. r=erahm 2018-07-21 14:16:50 -07:00
IdleTaskRunner.cpp Bug 1499725 - make IdleTaskRunner timers more efficient; r=farre 2018-10-22 09:44:50 -04:00
IdleTaskRunner.h Bug 1499725 - make IdleTaskRunner timers more efficient; r=farre 2018-10-22 09:44:50 -04:00
InputEventStatistics.cpp
InputEventStatistics.h
LabeledEventQueue.cpp Bug 1397426 - Rename TabChild's notion of "active tabs" to "visible tabs" and move logic into renderLayers. r=billm 2017-11-03 11:27:29 -04:00
LabeledEventQueue.h Bug 1477512: Part 1 - Add memory reporter functions to thread event queues. r=erahm 2018-07-21 14:16:50 -07:00
LazyIdleThread.cpp Bug 1299118: Implement Long Tasks API internals (not DOM access to it) r=froyd,mstange 2018-10-11 13:22:55 -04:00
LazyIdleThread.h
LeakRefPtr.h
MainThreadIdlePeriod.cpp
MainThreadIdlePeriod.h
MainThreadQueue.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
MainThreadUtils.h Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
Monitor.h Bug 1465452 Part 1 - Allow platform mutexes to specify whether they are recorded, r=froydnj. 2018-07-21 14:28:21 +00:00
moz.build Bug 1486400 - add task dispatch/run delays for ChaosMode; r=jesup 2018-09-19 12:02:09 -04:00
MozPromise.h Bug 1468241 - P1. Add MozPromise::CreateAndResolveOrReject method r=gerald 2018-06-20 22:14:05 +00:00
Mutex.h Bug 1207696 Part 4b - Make recording optional in mozilla mutexes and monitors, r=froydnj. 2018-07-21 14:22:54 +00:00
nsEnvironment.cpp
nsEnvironment.h
nsICancelableRunnable.h
nsIEnvironment.idl
nsIEventTarget.idl
nsIIdlePeriod.idl
nsIIdleRunnable.h Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
nsILabelableRunnable.cpp
nsILabelableRunnable.h
nsINamed.idl
nsIProcess.idl
nsIRunnable.idl
nsISerialEventTarget.idl
nsISupportsPriority.idl
nsIThread.idl Bug 1299118: Implement Long Tasks API internals (not DOM access to it) r=froyd,mstange 2018-10-11 13:22:55 -04:00
nsIThreadInternal.idl
nsIThreadManager.idl Bug 1479035: Part 2 - Get rid of PRThread to nsThread map. r=erahm 2018-07-27 15:26:08 -07:00
nsIThreadPool.idl Bug 1500861 - Add shutdownWithTimeout method to nsIThreadPool r=froydnj,erahm 2018-10-26 18:46:00 +00:00
nsITimer.idl
nsMemoryPressure.cpp Bug 1335148 - Part 2: Introduce notification for end of memory pressure. r=gsvelto,snorp 2018-03-30 13:26:24 +02:00
nsMemoryPressure.h Bug 1335148 - Part 2: Introduce notification for end of memory pressure. r=gsvelto,snorp 2018-03-30 13:26:24 +02:00
nsProcess.h
nsProcessCommon.cpp Bug 1486690 - Remove unnecessary checks after moz_xmalloc() calls. r=glandium 2018-08-28 15:56:01 +10:00
nsProxyRelease.cpp
nsProxyRelease.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
nsThread.cpp Bug 1488808 Part 17 - Allow paints to happen at the normal time when recording/replaying, r=nical. 2018-10-17 10:16:30 -06:00
nsThread.h Bug 1500861 - Add shutdownWithTimeout method to nsIThreadPool r=froydnj,erahm 2018-10-26 18:46:00 +00:00
nsThreadManager.cpp Bug 1479035: Part 2 - Get rid of PRThread to nsThread map. r=erahm 2018-07-27 15:26:08 -07:00
nsThreadManager.h Bug 1479035: Part 2 - Get rid of PRThread to nsThread map. r=erahm 2018-07-27 15:26:08 -07:00
nsThreadPool.cpp Bug 1500861 - Add shutdownWithTimeout method to nsIThreadPool r=froydnj,erahm 2018-10-26 18:46:00 +00:00
nsThreadPool.h
nsThreadSyncDispatch.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
nsThreadUtils.cpp Bug 1499723 - make IdleRunnableWrapper final; r=farre 2018-10-22 09:44:50 -04:00
nsThreadUtils.h Bug 1495306 - When InitOtherFamilyNames is called during stylo traversal, ensure it posts its runnable back to the main thread. r=kmag 2018-10-01 23:38:55 +02:00
nsTimerImpl.cpp Bug 1498651 - make initial timer target setting more efficient; r=erahm 2018-10-17 19:57:36 -04:00
nsTimerImpl.h Bug 1498651 - make initial timer target setting more efficient; r=erahm 2018-10-17 19:57:36 -04:00
PerformanceCounter.cpp Bug 1477943 - Add a unique id per PerformanceCounter instance - r=baku,froydnj 2018-07-27 11:44:22 +02:00
PerformanceCounter.h Bug 1477943 - Add a unique id per PerformanceCounter instance - r=baku,froydnj 2018-07-27 11:44:22 +02:00
PrioritizedEventQueue.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
PrioritizedEventQueue.h Bug 1477512: Part 1 - Add memory reporter functions to thread event queues. r=erahm 2018-07-21 14:16:50 -07:00
Queue.h Bug 1477512: Part 1 - Add memory reporter functions to thread event queues. r=erahm 2018-07-21 14:16:50 -07:00
RecursiveMutex.cpp
RecursiveMutex.h
ReentrantMonitor.h Bug 1207696 Part 4b - Make recording optional in mozilla mutexes and monitors, r=froydnj. 2018-07-21 14:22:54 +00:00
RWLock.cpp
RWLock.h
Scheduler.cpp Bug 1493955 - Store floating-point preferences in a locale-independent way r=njn 2018-09-28 20:54:09 +00:00
Scheduler.h Bug 1493955 - Store floating-point preferences in a locale-independent way r=njn 2018-09-28 20:54:09 +00:00
SchedulerGroup.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
SchedulerGroup.h Bug 1447744 - don't implement nsINamed for mozilla::Runnable when it's unused; r=erahm 2018-03-23 14:53:55 -04:00
SharedThreadPool.cpp Bug 1493737 - Fix many trivial calls to do_QueryInterface r=smaug 2018-10-01 21:38:01 +00:00
SharedThreadPool.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
StateMirroring.h Bug 1416724 - part 1 - AbstractThread::Dispatch should propage errors if failing the dispatching of Runnables, r=jwwang 2017-11-15 07:58:02 +01:00
StateWatching.h
SynchronizedEventQueue.cpp
SynchronizedEventQueue.h Bug 1477512: Part 1 - Add memory reporter functions to thread event queues. r=erahm 2018-07-21 14:16:50 -07:00
SyncRunnable.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
SystemGroup.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
SystemGroup.h
TaskCategory.h Bug 1447768 - part 2 - Dispatch counters in the parent process - r=baku 2018-04-04 13:36:25 +02:00
TaskDispatcher.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
TaskQueue.cpp Bug 1409664 - P8. Make explicit shutdown of TaskQueue optional. r=gerald 2018-07-03 11:45:18 -07:00
TaskQueue.h Bug 1409664 - P8. Make explicit shutdown of TaskQueue optional. r=gerald 2018-07-03 11:45:18 -07:00
ThreadDelay.cpp Bug 1492929 - Disable ChaosMode sleep delay on Windows. r=froydnj 2018-09-21 12:38:43 +00:00
ThreadDelay.h Bug 1486400 - add task dispatch/run delays for ChaosMode; r=jesup 2018-09-19 12:02:09 -04:00
ThreadEventQueue.cpp Bug 1477512: Follow-up: Un-inline ThreadEventQueue::SizeOfExcludingThis. r=me 2018-07-23 23:17:12 -07:00
ThreadEventQueue.h Bug 1477512: Follow-up: Un-inline ThreadEventQueue::SizeOfExcludingThis. r=me 2018-07-23 23:17:12 -07:00
ThreadEventTarget.cpp Bug 1488808 Part 16 - Avoid deadlocking in a few places after diverging from the recording, r=froydnj. 2018-10-17 10:15:41 -06:00
ThreadEventTarget.h Bug 1477512: Part 1 - Add memory reporter functions to thread event queues. r=erahm 2018-07-21 14:16:50 -07:00
ThrottledEventQueue.cpp Bug 1499534: Add Pause, Resume, and IsPaused methods to ThrottledEventQueue. r=froydnj 2018-10-23 06:21:10 +00:00
ThrottledEventQueue.h Bug 1499534: Add Pause, Resume, and IsPaused methods to ThrottledEventQueue. r=froydnj 2018-10-23 06:21:10 +00:00
TimerThread.cpp Bug 1465452 Part 13 - Avoid recording some timer thread state, r=froydnj. 2018-07-21 14:36:02 +00:00
TimerThread.h