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

1020 Коммитов

Автор SHA1 Сообщение Дата
Nika Layzell dec9708f74 Bug 1522579 - Part 6: Completely remove nsIContent{Parent,Child}, r=mccr8
Depends on D20553

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:55 +00:00
Andreea Pavel cd1b27ad4d Backed out 6 changesets (bug 1522579) for build bustages on a CLOSED TREE
Backed out changeset 3c8320baa230 (bug 1522579)
Backed out changeset 0a288a3d85cd (bug 1522579)
Backed out changeset ecfd27e7d150 (bug 1522579)
Backed out changeset eda40fca0758 (bug 1522579)
Backed out changeset 5c7aafa32a0a (bug 1522579)
Backed out changeset a3c5a2c16411 (bug 1522579)
2019-02-25 18:19:38 +02:00
Nika Layzell 072dbde694 Bug 1522579 - Part 6: Completely remove nsIContent{Parent,Child}, r=mccr8
Depends on D20553

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:25 +00:00
Masatoshi Kimura e59e3b3e20 Bug 1528651 - Fix some trivial warnings and re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : 5ee9efeda9e67f6af0521be85266703763cc4c50
2019-02-19 20:42:11 +09:00
Sylvestre Ledru 41d1d79094 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-15 08:15:57 +00:00
Mike Hommey ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

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

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Alex Gaynor 58e271b183 Bug 1525199 - Part 4 - removed size_t support from IPDL messages; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D19196

--HG--
extra : moz-landing-system : lando
2019-02-08 21:57:32 +00:00
Christoph Diehl 71c9cfa479 Bug 1520873: Support IPC fuzzer Faulty to run on Windows r=Alex_Gaynor
This is a supplement to further increase coverage of IPC fuzzing and to fulfill support for Faulty on all platforms.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 19:08:48 +00:00
Sylvestre Ledru 14486004b6 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-04 19:10:18 +00:00
Alex Gaynor ab9183b396 Bug 1513687 - remove chromium's random code from IPC in favor of our own; r=froydnj
This includes deleting several unused functions. Our own code does a better job
of using the preferred platform APIs for random numbers.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 21:37:11 +00:00
Sylvestre Ledru 0b4021fcad Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl
# ignore-this-changeset

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

--HG--
extra : histedit_source : 084f340503d2e1a2d9e1753c38b2c4ee9c7819f3
2019-01-21 18:18:16 +01:00
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Sylvestre Ledru 47a5dd1fb8 Bug 1519636 - Reformat everything to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-01-16 08:50:07 +00:00
Nathan Froyd 99da46a21c Bug 1062533 - part 3 - use StaticMutex for NowSingleton to work around the leak checker; r=mccr8 2019-01-09 11:09:24 -04:00
Nathan Froyd 0ab4c8b63c Bug 1062533 - part 2 - use StaticMutex for PipeMap to workaround the leak checker; r=mccr8 2019-01-09 11:09:25 -04:00
Nathan Froyd 27ac7aed45 Bug 1062533 - part 1 - convert easy cases of chromium IPC locks to mozilla mutexes; r=mccr8
Other cases will require some special handling.
2019-01-09 11:09:25 -04:00
Nathan Froyd 4efee8a5f1 Bug 1517567 - remove unused FILETIME-related functions from chromium ipc; r=jld
This removes one include of windows.h, which is nice.
2019-01-04 09:13:05 -05:00
Bob Owen 3018ba4863 Bug 1497749: Get hello message from channel ID when pipe handle passed. r=jld 2018-12-18 14:26:26 +00: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
Sylvestre Ledru a6f96535e9 Bug 1511140 - Declare PRINT_MACH_RESULT only once r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D13458

--HG--
extra : moz-landing-system : lando
2018-11-29 20:21:29 +00:00
Jed Davis 4fe96e3d18 Bug 1446161 - Asynchronously launch preallocated content processes using MozPromise. r=mccr8
There are several layers to this patch:

1. GeckoChildProcessHost now exposes a promise that's resolved when
the process handle is available (or rejected if launch failed), as a
nonblocking alternative to LaunchAndWaitForProcessHandle.

2. ContentParent builds on this with the private method
LaunchSubprocessAsync and the public method PreallocateProcessAsync;
synchronous launch continues to exist for the regular on-demand launch
path, for the time being.

3. PreallocatedProcessManager now uses async launch, and handles the new
"launch in progress" state appropriately.

Depends on D8942

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

--HG--
extra : moz-landing-system : lando
2018-11-28 20:42:31 +00:00
Andreea Pavel 74cd2bf73e Backed out 8 changesets (bug 1446161, bug 1487287, bug 1488993, bug 1474991, bug 1496608) for very frequent automation.py crashes on a CLOSED TREE
Backed out changeset 8b1f88d7bfeb (bug 1487287)
Backed out changeset 8fa5e81ad801 (bug 1487287)
Backed out changeset 7a480161fa0f (bug 1474991)
Backed out changeset 80116391b7fe (bug 1446161)
Backed out changeset 1bdf64b29121 (bug 1446161)
Backed out changeset 37bf52f0e9cf (bug 1446161)
Backed out changeset 8ede2ebe6b7a (bug 1496608)
Backed out changeset cea43bc88c7a (bug 1488993)
2018-11-27 08:53:18 +02:00
Jed Davis dececcae11 Bug 1446161 - Asynchronously launch preallocated content processes using MozPromise. r=mccr8
There are several layers to this patch:

1. GeckoChildProcessHost now exposes a promise that's resolved when
the process handle is available (or rejected if launch failed), as a
nonblocking alternative to LaunchAndWaitForProcessHandle.

2. ContentParent builds on this with the private method
LaunchSubprocessAsync and the public method PreallocateProcessAsync;
synchronous launch continues to exist for the regular on-demand launch
path, for the time being.

3. PreallocatedProcessManager now uses async launch, and handles the new
"launch in progress" state appropriately.

Depends on D8942

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

--HG--
extra : moz-landing-system : lando
2018-11-22 00:35:53 +00:00
Jed Davis 05b62c7dad Bug 1501895 - Fix Snap integration for IPC shared memory to work with parallel instances. r=froydnj
snapd 2.36 introduces a new experimental feature to allow creating
multiple instances of a package, which are isolated from each other; see
https://forum.snapcraft.io/t/parallel-installs/7679 for details.

This changes the prefix we need to use to access /dev/shm, because it's
now the instance name rather than the snap name.

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

--HG--
extra : moz-landing-system : lando
2018-11-14 02:19:42 +00:00
Brian Hackett e6cc6030db Bug 1506246 - Don't log unconsumed file descriptor sets in middleman processes, r=froydnj.
--HG--
extra : rebase_source : 7dadfe8dbced92b1022184fc05a6d61940398316
2018-11-09 10:54:48 -10:00
David Major 758232a8e7 No bug - fix nonunified include bustage in ipc_message.cc 2018-11-08 14:28:03 -05:00
Brian Hackett ab63c78ed5 Bug 1503639 Part 2 - Remove NotifyUnrecordedWait use in MessagePumpDefault, r=mccr8.
--HG--
extra : rebase_source : eabb1b757fdb122ea1ca989fdd3d9ef3fbcaed77
2018-10-31 10:18:20 -10:00
Gerald Squelart 1d2a9c227e Bug 1503468 - Add more AUTO_PROFILER_THREAD_SLEEP's - r=mstange
These are around wait functions that already had an IDLE marker.

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

--HG--
extra : moz-landing-system : lando
2018-11-02 16:26:50 +00:00
Brian Hackett 3c4231fd5b Bug 1488808 Part 10 - Notify the record/replay system when a message pump thread blocks after diverging from the recording, r=froydnj.
--HG--
extra : rebase_source : c82088f0903b618caee3b0366a8c681ff6f445a1
2018-10-17 10:05:02 -06:00
Jan Beich 1b90794ae0 Bug 1497169 - Unbreak bundled libevent on FreeBSD 12. r=froydnj 2018-10-08 05:12:00 +03:00
Nathan Froyd 2975d8ecc6 Bug 1495871 - remove chromium atomics code; r=jld
The only consumer of this code was Singleton, which we previously
removed, and everything that this code accomplished can be done more
simply and more foolproof-y by standard constructs these days.
2018-10-05 13:43:46 -04:00
Nathan Froyd 68a6731334 Bug 1495871 - remove singleton headers from ipc/; r=jld
These headers are no longer used.
2018-10-05 13:43:46 -04:00
Nathan Froyd 04abc48f2b Bug 1495871 - use C++11 statics in time_win.cc; r=jld
C++11 provides guaranteed thread-safe static initialization, so we can
use that instead of ipc's baroque Singleton class.
2018-10-05 13:43:47 -04:00
Nathan Froyd e2d2f91d22 Bug 1495871 - use C++11 statics for Faulty instance; r=decoder
C++11 provides guaranteed thread-safe static initialization, so we can
use that instead of ipc's baroque Singleton class.
2018-10-05 13:43:47 -04:00
Nathan Froyd ab6a71a3de Bug 1495871 - use C++11 statics in ipc_channel_posix.cc; r=jld
C++11 provides guaranteed thread-safe static initialization, so we can
use that instead of ipc's baroque Singleton class.
2018-10-05 13:43:47 -04:00
Nathan Froyd 582b05b7b7 Bug 1495871 - remove ipc/'s copies of *AtomicSequenceNum classes; r=jld
Their uses are easily replaced with simpler classes.
2018-10-05 13:43:47 -04:00
Nathan Froyd 7ed849f7d2 Bug 1494712 - fix incorrect preprocessor define for aarch64 in atomicops.h; r=jld 2018-09-27 19:44:16 -04:00
Kris Maglione 74481e8af4 Bug 1479035: Part 1 - Don't create event queues for stub nsThread wrappers. r=froydnj
Most of the times when we automatically create nsThread wrappers for threads
that don't already have them, we don't actually need the event targets, since
those threads don't run XPCOM event loops. Aside from wasting memory, actually
creating these event loops can lead to leaks if a thread tries to dispatch a
runnable to the queue which creates a reference cycle with the thread.

Not creating the event queues for threads that don't actually need them helps
avoid those foot guns, and also makes it easier to figure out which treads
actually run XPCOM event loops.

MozReview-Commit-ID: Arck4VQqdne

--HG--
extra : source : a03a61d6d724503c3b7c5e31fe32ced1f5d1c219
extra : intermediate-source : 5152af6ab3e399216ef6db8f060c257b2ffbd330
extra : histedit_source : ef06000344416e0919f536d5720fa979d2d29c66%2C4671676b613dc3e3ec762edf5d72a2ffbe6fca3f
2018-07-27 15:13:12 -07:00
Narcis Beleuzu 72f96acd7b Backed out 2 changesets (bug 1479035) for assertion failure: mEvents. CLOSED TREE
Backed out changeset 89a0c0874d40 (bug 1479035)
Backed out changeset 5152af6ab3e3 (bug 1479035)
2018-09-26 23:40:13 +03:00
Kris Maglione 81eb50cf31 Bug 1479035: Part 1 - Don't create event queues for stub nsThread wrappers. r=froydnj
Most of the times when we automatically create nsThread wrappers for threads
that don't already have them, we don't actually need the event targets, since
those threads don't run XPCOM event loops. Aside from wasting memory, actually
creating these event loops can lead to leaks if a thread tries to dispatch a
runnable to the queue which creates a reference cycle with the thread.

Not creating the event queues for threads that don't actually need them helps
avoid those foot guns, and also makes it easier to figure out which treads
actually run XPCOM event loops.

MozReview-Commit-ID: Arck4VQqdne

--HG--
extra : rebase_source : fcf8fa50e748c4b54c3bb1997575d9ffd4cbaae1
extra : source : a03a61d6d724503c3b7c5e31fe32ced1f5d1c219
2018-07-27 15:13:12 -07:00
Noemi Erli 36cc0e5fa7 Backed out 2 changesets (bug 1479035) for build bustages bustages netwerk/cache2/target on CLOSED TREE
Backed out changeset 5f8706213610 (bug 1479035)
Backed out changeset a03a61d6d724 (bug 1479035)
2018-09-26 08:54:03 +03:00
Kris Maglione a6edc4f204 Bug 1479035: Part 1 - Don't create event queues for stub nsThread wrappers. r=froydnj
Most of the times when we automatically create nsThread wrappers for threads
that don't already have them, we don't actually need the event targets, since
those threads don't run XPCOM event loops. Aside from wasting memory, actually
creating these event loops can lead to leaks if a thread tries to dispatch a
runnable to the queue which creates a reference cycle with the thread.

Not creating the event queues for threads that don't actually need them helps
avoid those foot guns, and also makes it easier to figure out which treads
actually run XPCOM event loops.

MozReview-Commit-ID: Arck4VQqdne

--HG--
extra : rebase_source : 02c5572b92ee48c11697d90941336e10c03d49cf
2018-07-27 15:13:12 -07:00
Markus Stange c37151f2e9 Bug 1493275 - Annotate idle stacks in the chromium event loop on Windows. r=froydnj
Depends on D6533

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

--HG--
extra : moz-landing-system : lando
2018-09-21 21:22:58 +00:00
Jed Davis 8724a9004a Bug 1400042 - Remove SetAllFDsToCloseOnExec r=mccr8
As the comments indicate, it has unavoidable race conditions in a
multithreaded program, and its call sites have all been removed.

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

--HG--
extra : moz-landing-system : lando
2018-09-22 02:31:24 +00:00
Jed Davis f2f934dc7e Bug 1400051 - IPC: use process_util_linux on BSD and remove process_util_bsd. r=glandium
This change is mainly to avoid the use of SetAllFDsToCloseOnExec, which
has an unavoidable race condition that can leak file descriptors into
child processes.  The "Linux" implementation of child process creation,
now that B2G support has been removed, is essentially a generic Unix
fork+dup2+execve which works on BSD (and is already used on Solaris).
2018-09-20 19:53:31 -06:00
Bob Owen 81d8e5c8da Bug 1490234: Make permissions specific for Windows shared memory handle. r=jld 2018-09-18 11:50:18 +01:00
Tom Ritter 7e0fefeaa0 Bug 1475566 Disable #pragma comments for MinGW Builds r=glandium
In the MinGW browser build job, we're going to use -fms-extensions,
which will tell clang to start processing these comments. Clang
cannot process them correctly (it's an upstream bug) but it doesn't
need to, because we include the libs we need in moz.build files.

So we exclude them for MinGW builds. mingw-clang gets them wrong and
mingw-gcc (which doesn't even work anymore on -central) ignored them.

In the future, with a llvm fix, we could clean up the moz.build
files and re-enable these comments.

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

--HG--
extra : moz-landing-system : lando
2018-08-29 03:50:39 +00:00
Nathan Froyd 3eab353d3f Bug 1480732 - make ipc/'s atomicops.h work on aarch64 windows; r=jld
I'm not entirely sure how this works on x86-64 Windows, which also uses
a #define for MemoryBarrier...I think something about intrinsics.
2018-08-27 09:31:28 -04:00
Nathan Froyd 29a5f5b36b Bug 1485696 - add aarch64 windows support to ipc's build_config.h; r=jld 2018-08-23 13:27:57 -04:00
Jed Davis 5e630f7ccf Bug 1481978 - Change IPC CloseSuperfluousFds to prevent accidentally heap-allocating closures. r=glandium
Closures are nice but -- as pointed out in bug 1481978 comment #2 --
it's a footgun to take a std::function argument in a context where heap
allocation isn't safe.

Fortunately, non-capturing closures convert to C function pointers,
so a C-style interface with a void* context can still be relatively
ergonomic.
2018-08-15 19:08:40 -06:00