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

Issue 1213723004: Implement a Windows crash client registrar. (Closed)

Created:
5 years, 5 months ago by erikwright (departed)
Modified:
5 years, 4 months ago
Reviewers:
scottmg
CC:
crashpad-dev_chromium.org, Sigurður Ásgeirsson, robertshield
Base URL:
https://chromium.googlesource.com/crashpad/crashpad@child_process
Target Ref:
refs/heads/master
Project:
crashpad
Visibility:
Public.

Description

Implement a Windows crash client registrar. BUG=

Patch Set 1 #

Patch Set 2 : Self-review. #

Patch Set 3 : More self-review. #

Total comments: 8
Unified diffs Side-by-side diffs Delta from patch set Stats (+696 lines, -0 lines) Patch
M handler/handler.gyp View 1 chunk +2 lines, -0 lines 0 comments Download
M handler/handler_test.gyp View 1 chunk +1 line, -0 lines 0 comments Download
A handler/win/registrar.h View 1 2 1 chunk +102 lines, -0 lines 2 comments Download
A handler/win/registrar.cc View 1 2 1 chunk +403 lines, -0 lines 4 comments Download
A handler/win/registrar_test.cc View 1 2 1 chunk +188 lines, -0 lines 2 comments Download

Depends on Patchset:

Messages

Total messages: 4 (1 generated)
erikwright (departed)
Scott, PTAL.
5 years, 5 months ago (2015-06-29 14:29:49 UTC) #2
erikwright (departed)
On 2015/06/29 14:29:49, erikwright wrote: > Scott, PTAL. Something worth considering is what happens if ...
5 years, 5 months ago (2015-06-29 14:32:44 UTC) #3
scottmg
5 years, 5 months ago (2015-06-29 20:29:05 UTC) #4
This is great. I'm just a little concerned about the complexity of the
threadpool usage.

https://codereview.chromium.org/1213723004/diff/40001/handler/win/registrar.cc
File handler/win/registrar.cc (right):

https://codereview.chromium.org/1213723004/diff/40001/handler/win/registrar.c...
handler/win/registrar.cc:100: // Helps clean up a registered wait handle in case
of failure. Use Receive() to store a
80 col

https://codereview.chromium.org/1213723004/diff/40001/handler/win/registrar.c...
handler/win/registrar.cc:157: bool LoggedCreateEvent(ScopedKernelHANDLE*
destination) {
Logged -> Logging

https://codereview.chromium.org/1213723004/diff/40001/handler/win/registrar.c...
handler/win/registrar.cc:233: // The ReportRequestCallback, on the other hand,
may still trigger a report now
80 col

https://codereview.chromium.org/1213723004/diff/40001/handler/win/registrar.c...
handler/win/registrar.cc:270: // If the process has already exited the "process
exit" callback may very well
The number of cases here worries me. Is it possible to do a more plain acquire,
then insert, then register? And similarly have the destruction/exit go through
single path that takes a (perhaps) larger lock and then updates the state
atomically in one place?

https://codereview.chromium.org/1213723004/diff/40001/handler/win/registrar.h
File handler/win/registrar.h (right):

https://codereview.chromium.org/1213723004/diff/40001/handler/win/registrar.h...
handler/win/registrar.h:57: //! \param client_process The client to register.
I think it needs a \n before \param line here.

https://codereview.chromium.org/1213723004/diff/40001/handler/win/registrar.h...
handler/win/registrar.h:57: //! \param client_process The client to register.
\param lines are one of \param[in], \param[out], or \param[inout] in Crashpad, I
don't know if that's mandatory for doxygen or not.

https://codereview.chromium.org/1213723004/diff/40001/handler/win/registrar_t...
File handler/win/registrar_test.cc (right):

https://codereview.chromium.org/1213723004/diff/40001/handler/win/registrar_t...
handler/win/registrar_test.cc:36: DWORD bytes_read = 0;
Replace 36-38 with CheckReadFile() from util/file/file_io.h.

https://codereview.chromium.org/1213723004/diff/40001/handler/win/registrar_t...
handler/win/registrar_test.cc:44: DWORD bytes_written = 0;
And CheckedWriteFile here.

Powered by Google App Engine
This is Rietveld 408576698