Граф коммитов

63 Коммитов

Автор SHA1 Сообщение Дата
Gabriele Svelto a203b827db Bug 1771712 - Make it more likely for child processes to be killed under OOM conditions compared to the parent process on Linux r=jld
This patch implements hal::SetProcessPriority() on Linux and leverages
it to make it more likely that the parent process and foreground tab
survive an OOM situation, letting Linux' OOM killer reap preallocated
processes and background tabs first when reclaiming memory.

This is achieved by setting the `oom_score_adj` values of said processes
such that they will be killed in this order:

* Preallocated processes will be the first to go, they don't contain
  user data and are not visible, so they're a good candidate to free up
  memory
* Background tabs will be killed next, we don't generate crash reports
  for thoes nor do we inform the user, we just reload the tab, so in
  most cases one being killed will only be a small annoyance
* Background tabs playing video come next, but only if they're not also
  playing or recording audio
* Finally foreground tabs will be killed as a last resort, background
  tabs playing audio or with an active WebRTC session are also
  considered to be in the foreground as the user will immediately notice
  if they crash

Note that this patch only implements the low-level plumbing. The process
priority manager has not been enabled on Linux yet so that needs to
happen before this actually works.

Differential Revision: https://phabricator.services.mozilla.com/D153466
2022-08-09 16:05:48 +00:00
Emilio Cobos Álvarez 9ddc42292b Bug 1760839 - Use more automatic memory management in GTK code. r=stransky
This fixes a couple potential leaks (e.g., see the UPowerClient changes,
we weren't freeing all the devices properly).

Differential Revision: https://phabricator.services.mozilla.com/D141775
2022-03-23 16:14:34 +00:00
Chris Peterson 406763af7f Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj
This changeset is a simple find and replace of `MOZ_FALLTHROUGH` and `[[fallthrough]]`.

Unfortunately, the MOZ_FALLTHROUGH_ASSERT macro (to assert on case fallthrough in debug builds) is still necessary after switching from [[clang::fallthrough]] to [[fallthrough]] because:

* MOZ_ASSERT(false) followed by [[fallthrough]] triggers a -Wunreachable-code warning in DEBUG builds
* but MOZ_ASSERT(false) without [[fallthrough]] triggers a -Wimplicit-fallthrough warning in NDEBUG builds.

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

--HG--
extra : moz-landing-system : lando
2019-12-20 07:16:43 +00:00
Ryan Hunt c355a037bb Bug 1523969 part 9 - Move method definition inline comments to new line in 'hal/'. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D21109

--HG--
extra : rebase_source : d56eacdaeefd5bde104fb24eecffa3d2890a7869
2019-02-25 16:07:35 -06:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Nicholas Nethercote 96045fda51 Bug 1382955 (part 3) - Remove a bunch of unused HAL stuff. r=gsvelto,kanru. 2017-08-02 10:09:32 +10:00
Nicholas Nethercote a6f655a6c9 Bug 1382955 (part 2) - Remove nsIPowerManagerService::{powerOff,reboot,restart} and related things. r=gsvelto. 2017-08-02 10:09:26 +10:00
Nicholas Nethercote 70ba26c5f9 Bug 1382099 - Remove MOZ_WIDGET_GONK from hal/. r=gsvelto.
--HG--
extra : rebase_source : e7ab0068d81b6a09e01a7f505b1f8d475293065e
2017-07-24 10:08:55 +10:00
Sylvestre Ledru 4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
Andrea Marchesini a18bf77d4d Bug 1282433 - Use dbus PropertiesChanged signal for notification of battery status changes, r=karlt
From UPower 0.99, DeviceChanged has been removed from the UPower interface and
PropertiesChanged support added.
2016-11-02 10:37:11 +01:00
Ehsan Akhgari d05eb37eea Bug 1299493 - Remove Navigator.get/hasFeature(); r=baku 2016-08-31 18:02:46 -04:00
Chris Peterson f8c52db33c Bug 1241549 - Annotate intentional switch fallthrough in hal/linux/UPowerClient.cpp. r=gsvelto
hal/linux/UPowerClient.cpp:420:5: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
2016-01-20 21:34:41 -08:00
Kyle Machulis 358e55b5b7 Bug 852944 - Gamepad API IPC; r=ted, r=baku
--HG--
extra : rebase_source : 34ca0c1e1b7fcc312b5d7c97d5bd2086af2bc7ce
2015-04-23 15:05:29 -07:00
Ehsan Akhgari 399276d5fc Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 21:40:49 -04:00
Wes Kocher 638b28b8e0 Backed out changeset 02e6a50741a9 (bug 1153348) to hopefully fix the static bustage CLOSED TREE 2015-04-21 15:47:40 -07:00
Ehsan Akhgari 3d21a05904 Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 16:31:58 -04:00
Gijs Kruitbosch abcc5051f6 Bug 1124127 - round power percentage to whole number before passing on, r=gsvelto
--HG--
extra : rebase_source : 69c55368a10c076e9726db9894f2d355326d9aad
2015-01-21 14:06:40 +00:00
Wes Kocher a269def446 Bug 1107923 - Followup to fix non-unified bustage a=me 2014-12-16 13:26:42 -08:00
Oleksiy Avramchenko 625804e99a Bug 1107923 - Use powerctl for reboot & shutdown. r=gsvelto
Android KK and later supports sys.powerctl property to reboot or shutdown device via the init. This allows to:
- hook up on these events from the rc scripts to perform some actions
- remount all fs to ro in android_reboot() before calling the kernel
2014-12-12 06:18:00 -05:00
Gabriele Svelto eee9e26b8b Bug 1047277 - Hide HAL's logging macros from the public headers and convert all components to use them. r=dhylands 2014-09-24 15:23:18 +02:00
Ted Mielczarek 9ca7ade729 Bug 1014162 - Make Gamepad.mapping into an enum. r=smaug 2014-05-23 07:39:13 -04:00
Alphan Chen 3682d6b662 Bug 996996 - Move fopen into non-sanboxed process. r=mrbkap 2014-05-21 13:49:36 +08:00
Dave Hylands 9e3b673303 Bug 993737 - Only fire shutdown notifications on main thread. r=gsvelto 2014-04-30 17:20:30 -07:00
Birunthan Mohanathas 3440613a39 Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo
--HG--
rename : mfbt/Util.h => mfbt/ArrayUtils.h
2013-12-08 21:52:54 -05:00
Kyle Machulis a44135afa5 Bug 937496 - Check if libudev already loaded before trying to load symbols from it; r=ted 2013-11-19 12:52:37 -08:00
George Wright ecae0e66b7 Bug 920160 - Add prefs for SkiaGL cache size r=snorp
--HG--
extra : rebase_source : 410192610d7311dead4132d2fee8fbd3fe062951
2013-10-22 14:15:24 -05:00
Boris Zbarsky c713072098 Bug 909645 part 2. Don't include ipdl headers in Hal.h. r=ms2ger 2013-08-28 00:14:57 -04:00
Nicholas Nethercote e3a0a862d3 Bug 909171 (part 3) - Remove JS_VERSION. r=luke.
--HG--
extra : rebase_source : b09e2c23654675cfb5f93cea5f372bcb8d9ddce5
2013-08-26 17:09:40 -07:00
Birunthan Mohanathas 0d87358ff5 Bug 784739 - Switch from NULL to nullptr in hal/. r=ehsan 2013-08-23 15:51:15 -04:00
Ted Mielczarek 7cd7b13768 bug 894382 - support libudev.so.1 in Linux Gamepad backend. r=karlt 2013-07-29 09:04:56 -04:00
Justin Lebar 3e059c7221 Bug 820686 - Remove code after MOZ_CRASH or MOZ_ASSUME_NOT_REACHED. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=waldo for js
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
2013-06-28 18:38:32 -07:00
Justin Lebar 051c5b560a Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else

This is a mechanical change made with sed.  Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Ted Mielczarek 98dadecb4e bug 860413 - Allow setting standard gamepad mapping. r=smaug 2013-04-09 08:43:25 -04:00
Ted Mielczarek fcbb74630b bug 690938 - Get vendor id and product id on Linux for bluetooth gamepads. r=karlt 2013-04-09 08:43:24 -04:00
Michael Vines 18e74f4235 Bug 851721 - Emit system-reboot/system-power-off events for Gonk backend. r=kchen 2013-03-23 19:26:50 -07:00
Ted Mielczarek 6aa01b8a6a bug 604039 - Linux gamepad backend. r=karlt
--HG--
extra : rebase_source : 32d47af727b9a6209d321a8622a2f3ecb7a44d25
2011-08-03 14:12:08 -04:00
Chris Jones fb825fe86d Rollup of bug 821192: Ensure that content processes don't see an inconsistent app dir. r=bent,dhylands
Bug 821192, part 1: Fix the watchdog timeout code. r=dhylands
Bug 821192, part 2: Add an interface to join all live content processes. r=bent
Bug 821192, part 3: Join all subprocesses before restarting the main process, when we're e.g. about to apply an update. r=dhylands
2012-12-28 01:45:16 -08:00
Gregor Wagner 06088ea2ad Bug 820135 - Preferences: We don't save prefs when we reboot. r=cjones 2012-12-12 15:41:07 -08:00
Josh Matthews 284b9ead7e Backed out changeset ea39e0af0831 (bug 820135) 2012-12-12 02:23:10 -05:00
Gregor Wagner 498ce0f2fa Bug 820135 - Preferences: We don't save prefs when we reboot. r=cjones 2012-12-11 22:39:25 -08:00
Andrea Marchesini 5572f5a7cc Bug 703612 - Make DBUS calls asynchronous to prevent slowness because of DBus daemon being overloaded in Battery API UPower backend. r=mounir 2012-11-02 16:11:50 -04:00
Gene Lian 56e7808397 Bug 793970 - Reuse nsAppStartup's watchdog to compulsively power-off/reboot/quit Gecko if profile synchronizing hangs. r=cjones 2012-10-02 15:26:32 +08:00
Aryeh Gregor d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Gervase Markham 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Mounir Lamouri 566a670f97 Bug 749645 - Use fallback files in hal/ when a backend isn't implemneted instead of having randomly defined methods. r=cjones
--HG--
rename : hal/fallback/ScreenOrientationFallback.cpp => hal/fallback/FallbackScreenOrientation.cpp
rename : hal/linux/Power.cpp => hal/linux/LinuxPower.cpp
2012-05-03 12:05:32 +02:00
Ryan VanderMeulen 0f578d67d8 Back out entire dd28759eba7b push (bug 739913 and bug 742226) due to OSX 10.7 and b2g bustage. r=shouldausedtry 2012-04-12 20:00:57 -04:00
Kan-Ru Chen 14c301c057 Bug 739913 - Use kernel wake lock when the "cpu" topic is locked. r=cjones 2012-04-12 19:24:20 -04:00
Kan-Ru Chen f54487e0fe Bug 709585 - Part 5, hal code for the Power API. r=cjones
--HG--
extra : rebase_source : 49c8cb29be617293eb9143b3e3c760229b37943c
2012-01-31 01:08:00 -05:00
Scott Johnson 8a04769547 Backout 6a4c4cb828a8 for bustage on windows. 2012-01-30 18:47:43 -06:00
Kan-Ru Chen fd88fd0443 Bug 709585 - Part 5/6, hal code for the Power API. r=cjones
--HG--
extra : rebase_source : 689315521a72444c8a0fc92efe128d5bf3fbbada
2012-01-30 17:02:51 -06:00