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

Unified Diff: handler/crashpad_handler.ad

Issue 1432563003: win: crashpad_handler should create its own pipe name in ephemeral mode (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: It's futile to pick and choose errors, retry on all Created 5 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: handler/crashpad_handler.ad
diff --git a/handler/crashpad_handler.ad b/handler/crashpad_handler.ad
index a97e20886c6479b2dad9254d1e87aaa3e76dea35..28069f3933ee75fafda34dc0b86caf3b5e717a5d 100644
--- a/handler/crashpad_handler.ad
+++ b/handler/crashpad_handler.ad
@@ -42,13 +42,15 @@ which it monitors for exception messages. When the receive right loses all
senders, the server exits after allowing any upload in progress to complete.
On Windows, clients register with this server by communicating with it via the
-named pipe identified by the *--pipe-name* argument. During registration, a
-client provides the server with an OS event object that it will signal should it
-crash. The server obtains the client’s process handle and waits on the crash
-event object for a crash, as well as the client’s process handle for the client
-to exit cleanly without crashing. When the server loses all clients and
-*--persistent* is not specified, it exits after allowing any upload in progress
-to complete.
+named pipe identified by the *--pipe-name* argument. Alternatively, the server
+can create a new pipe with a random name and inform a client of this name via
+the *--handshake-handle* mechanism; clients may then register by communicating
+with it via that named pipe. During registration, a client provides the server
+with an OS event object that it will signal should it crash. The server obtains
+the client’s process handle and waits on the crash event object for a crash, as
+well as the client’s process handle for the client to exit cleanly without
+crashing. When a server started via the *--handshake-handle* mechanism loses all
+of its clients, it exits after allowing any upload in progress to complete.
It is not normally appropriate to invoke this program directly. Usually, it will
be invoked by a Crashpad client using the Crashpad client library. Arbitrary
@@ -86,16 +88,24 @@ of 'PATH' exists.
Perform the handshake with the initial client on the file descriptor at 'FD'.
This option is required. This option is only valid on Mac OS X.
-*--persistent*::
-Continue running after the last client exits. If this option is not specified,
-this server will exit as soon as it has no clients, although on startup, it
-always waits for at least one client to connect. This option is only valid on
-Windows.
+*--handshake-handle*='HANDLE'::
+Perform the handshake with the initial client on the HANDLE at 'HANDLE'. Either
+this option or *--pipe-name*, but not both, is required. This option is only
+valid on Windows.
++
+When this option is present, the server creates a new named pipe at a random
+name and informs its client of the name. The server waits for at least one
+client to register, and exits when all clients have exited, after waiting for
+any uploads in progress to complete.
*--pipe-name*='PIPE'::
Listen on the given pipe name for connections from clients. 'PIPE' must be of
-the form +\\.\pipe\<somename>+. This option is required. This option is only
-valid on Windows.
+the form +\\.\pipe\<somename>+. Either this option or *--handshake-handle*, but
+not both, is required. This option is only valid on Windows.
++
+When this option is present, the server creates a named pipe at 'PIPE', a name
+known to both the server and its clients. The server continues running even
+after all clients have exited.
*--reset-own-crash-exception-port-to-system-default*::
Causes the exception handler server to set its own crash handler to the system

Powered by Google App Engine
This is Rietveld 408576698