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

Side by Side 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 unified diff | Download patch
« no previous file with comments | « client/crashpad_client_win.cc ('k') | handler/main.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Crashpad Authors. All rights reserved. 1 // Copyright 2014 The Crashpad Authors. All rights reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 43
44 Alternatively, on OS X, this server may be started from launchd(8), where it 44 Alternatively, on OS X, this server may be started from launchd(8), where it
45 receives the Mach service name in a *--mach-service* argument. It checks in with 45 receives the Mach service name in a *--mach-service* argument. It checks in with
46 the bootstrap server under this service name, and clients may look it up with 46 the bootstrap server under this service name, and clients may look it up with
47 the bootstrap server under this service name. It monitors this service for 47 the bootstrap server under this service name. It monitors this service for
48 exception messages. Upon receipt of +SIGTERM+, the server exits after allowing 48 exception messages. Upon receipt of +SIGTERM+, the server exits after allowing
49 any upload in progress to complete. +SIGTERM+ is normally sent by launchd(8) 49 any upload in progress to complete. +SIGTERM+ is normally sent by launchd(8)
50 when it determines that the server should exit. 50 when it determines that the server should exit.
51 51
52 On Windows, clients register with this server by communicating with it via the 52 On Windows, clients register with this server by communicating with it via the
53 named pipe identified by the *--pipe-name* argument. During registration, a 53 named pipe identified by the *--pipe-name* argument. Alternatively, the server
54 client provides the server with an OS event object that it will signal should it 54 can create a new pipe with a random name and inform a client of this name via
55 crash. The server obtains the client’s process handle and waits on the crash 55 the *--handshake-handle* mechanism; clients may then register by communicating
56 event object for a crash, as well as the client’s process handle for the client 56 with it via that named pipe. During registration, a client provides the server
57 to exit cleanly without crashing. When the server loses all clients and 57 with an OS event object that it will signal should it crash. The server obtains
58 *--persistent* is not specified, it exits after allowing any upload in progress 58 the client’s process handle and waits on the crash event object for a crash, as
59 to complete. 59 well as the client’s process handle for the client to exit cleanly without
60 crashing. When a server started via the *--handshake-handle* mechanism loses all
61 of its clients, it exits after allowing any upload in progress to complete.
60 62
61 It is not normally appropriate to invoke this program directly. Usually, it will 63 It is not normally appropriate to invoke this program directly. Usually, it will
62 be invoked by a Crashpad client using the Crashpad client library, or started by 64 be invoked by a Crashpad client using the Crashpad client library, or started by
63 another system service. On OS X, arbitrary programs may be run with a Crashpad 65 another system service. On OS X, arbitrary programs may be run with a Crashpad
64 handler by using man_link:run_with_crashpad[1] to establish the Crashpad client 66 handler by using man_link:run_with_crashpad[1] to establish the Crashpad client
65 environment before running a program. 67 environment before running a program.
66 68
67 == Options 69 == Options
68 *--annotation*='KEY=VALUE':: 70 *--annotation*='KEY=VALUE'::
69 Sets a process-level annotation mapping 'KEY' to 'VALUE' in each crash report 71 Sets a process-level annotation mapping 'KEY' to 'VALUE' in each crash report
(...skipping 28 matching lines...) Expand all
98 *--mach-service*='SERVICE':: 100 *--mach-service*='SERVICE'::
99 Check in with the bootstrap server under the name 'SERVICE'. Either this option 101 Check in with the bootstrap server under the name 'SERVICE'. Either this option
100 or *--handshake-fd*, but not both, is required. This option is only valid on OS 102 or *--handshake-fd*, but not both, is required. This option is only valid on OS
101 X. 103 X.
102 + 104 +
103 'SERVICE' may already be reserved with the bootstrap server in cases where this 105 'SERVICE' may already be reserved with the bootstrap server in cases where this
104 tool is started by launchd(8) as a result of a message being sent to a service 106 tool is started by launchd(8) as a result of a message being sent to a service
105 declared in a job’s +MachServices+ dictionary (see launchd.plist(5)). The 107 declared in a job’s +MachServices+ dictionary (see launchd.plist(5)). The
106 service name may also be completely unknown to the system. 108 service name may also be completely unknown to the system.
107 109
108 *--persistent*:: 110 *--handshake-handle*='HANDLE'::
109 Continue running after the last client exits. If this option is not specified, 111 Perform the handshake with the initial client on the HANDLE at 'HANDLE'. Either
110 this server will exit as soon as it has no clients, although on startup, it 112 this option or *--pipe-name*, but not both, is required. This option is only
111 always waits for at least one client to connect. This option is only valid on 113 valid on Windows.
112 Windows. 114 +
115 When this option is present, the server creates a new named pipe at a random
116 name and informs its client of the name. The server waits for at least one
117 client to register, and exits when all clients have exited, after waiting for
118 any uploads in progress to complete.
113 119
114 *--pipe-name*='PIPE':: 120 *--pipe-name*='PIPE'::
115 Listen on the given pipe name for connections from clients. 'PIPE' must be of 121 Listen on the given pipe name for connections from clients. 'PIPE' must be of
116 the form +\\.\pipe\<somename>+. This option is required. This option is only 122 the form +\\.\pipe\<somename>+. Either this option or *--handshake-handle*, but
117 valid on Windows. 123 not both, is required. This option is only valid on Windows.
124 +
125 When this option is present, the server creates a named pipe at 'PIPE', a name
126 known to both the server and its clients. The server continues running even
127 after all clients have exited.
118 128
119 *--reset-own-crash-exception-port-to-system-default*:: 129 *--reset-own-crash-exception-port-to-system-default*::
120 Causes the exception handler server to set its own crash handler to the system 130 Causes the exception handler server to set its own crash handler to the system
121 default before beginning operation. This is only expected to be useful in cases 131 default before beginning operation. This is only expected to be useful in cases
122 where the server inherits an inappropriate crash handler from its parent 132 where the server inherits an inappropriate crash handler from its parent
123 process. This option is only valid on OS X. Use of this option is discouraged. 133 process. This option is only valid on OS X. Use of this option is discouraged.
124 It should not be used absent extraordinary circumstances. 134 It should not be used absent extraordinary circumstances.
125 135
126 *--url*='URL':: 136 *--url*='URL'::
127 If uploads are enabled, sends crash reports to the Breakpad-type crash report 137 If uploads are enabled, sends crash reports to the Breakpad-type crash report
(...skipping 17 matching lines...) Expand all
145 Failure, with a message printed to the standard error stream. 155 Failure, with a message printed to the standard error stream.
146 156
147 == See Also 157 == See Also
148 158
149 man_link:catch_exception_tool[1], 159 man_link:catch_exception_tool[1],
150 man_link:crashpad_database_util[1], 160 man_link:crashpad_database_util[1],
151 man_link:generate_dump[1], 161 man_link:generate_dump[1],
152 man_link:run_with_crashpad[1] 162 man_link:run_with_crashpad[1]
153 163
154 include::../doc/support/man_footer.ad[] 164 include::../doc/support/man_footer.ad[]
OLDNEW
« 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