Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1433)

Unified Diff: third_party/crashpad/crashpad/util/win/exception_handler_server.h

Issue 2478633002: Update Crashpad to b47bf6c250c6b825dee1c5fbad9152c2c962e828 (Closed)
Patch Set: mac comment 2 Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/crashpad/crashpad/util/win/exception_handler_server.h
diff --git a/third_party/crashpad/crashpad/util/win/exception_handler_server.h b/third_party/crashpad/crashpad/util/win/exception_handler_server.h
index 34c527830370bf08433f7f3ef5e1b3c0697f6527..69f760d20e00d3bb21f71bd0315d3abe3de9c44c 100644
--- a/third_party/crashpad/crashpad/util/win/exception_handler_server.h
+++ b/third_party/crashpad/crashpad/util/win/exception_handler_server.h
@@ -22,6 +22,7 @@
#include "base/synchronization/lock.h"
#include "util/file/file_io.h"
#include "util/win/address_types.h"
+#include "util/win/initial_client_data.h"
#include "util/win/scoped_handle.h"
namespace crashpad {
@@ -72,21 +73,32 @@ class ExceptionHandlerServer {
//! \brief Sets the pipe name to listen for client registrations on.
//!
- //! Either this method or CreatePipe(), but not both, must be called before
- //! Run().
+ //! This method, or InitializeWithInheritedDataForInitialClient(), must be
+ //! called before Run().
//!
//! \param[in] pipe_name The name of the pipe to listen on. Must be of the
//! form "\\.\pipe\<some_name>".
void SetPipeName(const std::wstring& pipe_name);
- //! \brief Creates a randomized pipe name to listen for client registrations
- //! on and returns its name.
+ //! \brief Sets the pipe to listen for client registrations on, providing
+ //! the first precreated instance.
//!
- //! Either this method or CreatePipe(), but not both, must be called before
- //! Run().
+ //! This method, or SetPipeName(), must be called before Run(). All of these
+ //! parameters are generally created in a parent process that launches the
+ //! handler. For more details see the Windows implementation of
+ //! CrashpadClient.
//!
- //! \return The pipe name that will be listened on.
- std::wstring CreatePipe();
+ //! \sa CrashpadClient
+ //! \sa RegistrationRequest
+ //!
+ //! \param[in] initial_client_data The handles and addresses of data inherited
+ //! from a parent process needed to initialize and register the first
+ //! client. Ownership of these handles is taken.
+ //! \param[in] delegate The interface to which the exceptions are delegated
+ //! when they are caught in Run(). Ownership is not transferred.
+ void InitializeWithInheritedDataForInitialClient(
+ const InitialClientData& initial_client_data,
+ Delegate* delegate);
//! \brief Runs the exception-handling server.
//!
@@ -98,6 +110,10 @@ class ExceptionHandlerServer {
//! object must not be destroyed until Run() returns.
void Stop();
+ //! \brief The number of server-side pipe instances that the exception handler
+ //! server creates to listen for connections from clients.
+ static const size_t kPipeInstances = 2;
+
private:
static bool ServiceClientConnection(
const internal::PipeServiceContext& service_context);
« no previous file with comments | « third_party/crashpad/crashpad/util/util_test.gyp ('k') | third_party/crashpad/crashpad/util/win/exception_handler_server.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698