mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-23 12:51:06 +00:00
bdb401316d
This requires quite a bit of piping to get the ChildID passed everywhere where we currently pass the pid in IPC. This is done by adding a new struct type (EndpointProcInfo), which is passed around instead of OtherPid in these places, and contains the full pid. In most cases, it was a fairly painless change to move over, however in some cases, more complex changes were required, as the pid was being stored previously in something like an Atomic<...>, and needed to be switched to using a mutex-protected value. In the future, it may be possible to remove OtherPid from IPDL actors once everything is migrated to ChildID, but we're still a long way off from that, so for now we unfortunately need to pass both around. Differential Revision: https://phabricator.services.mozilla.com/D217118
40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* 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/. */
|
|
|
|
#ifndef mozilla_ipc_IPCForwards_h
|
|
#define mozilla_ipc_IPCForwards_h
|
|
|
|
// A few helpers to avoid having to include lots of stuff in headers.
|
|
|
|
namespace mozilla {
|
|
template <typename T>
|
|
class Maybe;
|
|
|
|
namespace ipc {
|
|
struct EndpointProcInfo;
|
|
class IProtocol;
|
|
} // namespace ipc
|
|
} // namespace mozilla
|
|
|
|
namespace IPC {
|
|
class Message;
|
|
class MessageReader;
|
|
class MessageWriter;
|
|
template <typename T, bool>
|
|
class ReadResult;
|
|
} // namespace IPC
|
|
|
|
// TODO(bug 1812271): Remove users of this macro.
|
|
#define ALLOW_DEPRECATED_READPARAM \
|
|
public: \
|
|
enum { kHasDeprecatedReadParamPrivateConstructor = true }; \
|
|
template <typename, bool> \
|
|
friend class IPC::ReadResult; \
|
|
\
|
|
private:
|
|
|
|
#endif
|