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

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: --help 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
« no previous file with comments | « client/crashpad_client_win.cc ('k') | handler/main.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: handler/crashpad_handler.ad
diff --git a/handler/crashpad_handler.ad b/handler/crashpad_handler.ad
index f359af769f299de6d9a57c499efd98b40c1bdc05..e7fd66ba7466e01f1b4022a8ae90082acafbbcd2 100644
--- a/handler/crashpad_handler.ad
+++ b/handler/crashpad_handler.ad
@@ -50,13 +50,15 @@ any upload in progress to complete. +SIGTERM+ is normally sent by launchd(8)
when it determines that the server should exit.
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, or started by
@@ -105,16 +107,24 @@ tool is started by launchd(8) as a result of a message being sent to a service
declared in a job’s +MachServices+ dictionary (see launchd.plist(5)). The
service name may also be completely unknown to the system.
-*--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
« no previous file with comments | « client/crashpad_client_win.cc ('k') | handler/main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698