gecko-dev/xpcom/threads/moz.build
Andreas Farre d87b4d239b Bug 1198381 - Extend nsIThread with idleDispatch, r=froydnj,smaug
The intent of idleDispatch is the possibility to have a runnable
executed when the thread is idle. This is accomplished by adding an
event queue for idle tasks that will only be considered when the main
event queue is empty and the caller of ProcessNextEvent doesn't
require that we wait until there is an event on the main event queue.

MozReview-Commit-ID: IDWQfzZqWpZ

--HG--
extra : rebase_source : 0d5bfeebd08e01597c2cd8b76e8e848d9f9c58f0
2016-08-24 16:18:06 +02:00

88 lines
2.1 KiB
Python

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
XPIDL_SOURCES += [
'nsIEnvironment.idl',
'nsIEventTarget.idl',
'nsIIdlePeriod.idl',
'nsIProcess.idl',
'nsIRunnable.idl',
'nsISupportsPriority.idl',
'nsIThread.idl',
'nsIThreadInternal.idl',
'nsIThreadManager.idl',
'nsIThreadPool.idl',
'nsITimer.idl',
]
XPIDL_MODULE = 'xpcom_threads'
EXPORTS += [
'nsEventQueue.h',
'nsICancelableRunnable.h',
'nsIIncrementalRunnable.h',
'nsMemoryPressure.h',
'nsProcess.h',
'nsThread.h',
]
EXPORTS.mozilla += [
'AbstractThread.h',
'BackgroundHangMonitor.h',
'HangAnnotations.h',
'HangMonitor.h',
'LazyIdleThread.h',
'MainThreadIdlePeriod.h',
'MozPromise.h',
'SharedThreadPool.h',
'StateMirroring.h',
'StateWatching.h',
'SyncRunnable.h',
'TaskDispatcher.h',
'TaskQueue.h',
]
UNIFIED_SOURCES += [
'AbstractThread.cpp',
'BackgroundHangMonitor.cpp',
'HangAnnotations.cpp',
'HangMonitor.cpp',
'LazyIdleThread.cpp',
'MainThreadIdlePeriod.cpp',
'nsEnvironment.cpp',
'nsEventQueue.cpp',
'nsMemoryPressure.cpp',
'nsProcessCommon.cpp',
'nsThread.cpp',
'nsThreadManager.cpp',
'nsThreadPool.cpp',
'nsTimerImpl.cpp',
'SharedThreadPool.cpp',
'TaskQueue.cpp',
'ThreadStackHelper.cpp',
'TimerThread.cpp',
]
LOCAL_INCLUDES += [
'../build',
'/caps',
'/tools/profiler',
]
# BHR disabled for Release builds because of bug 965392.
# BHR disabled for debug builds because of bug 979069.
# BHR disabled on gonk because of bug 1180533
# BHR disabled for TSan builds because of bug 1121216.
if CONFIG['MOZ_UPDATE_CHANNEL'] not in ('release') and \
not CONFIG['MOZ_DEBUG'] and \
not CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and \
not CONFIG['MOZ_TSAN']:
DEFINES['MOZ_ENABLE_BACKGROUND_HANG_MONITOR'] = 1
FINAL_LIBRARY = 'xul'
include('/ipc/chromium/chromium-config.mozbuild')