breakpad/src/client/windows/crash_generation
mark@chromium.org 7db2fb7b93 Do not fail crash dump generation if handle operations tracing is not enabled
and yet the fatal exception was STATUS_INVALID_HANDLE.

BUG=131699

Patch by Alex Pakhunov <alexeypa@chromium.org>

Review URL: https://breakpad.appspot.com/409003/


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@980 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-07-03 18:31:08 +00:00
..
client_info.cc Set limit on the number of custom client info entries that can be sent with a crash dump. 2012-04-17 18:20:22 +00:00
client_info.h Expose a callback to allow crash server implementations to defer the uploading of crash dumps to a later time. The client can provide a crash_id when the dump is performed and then at a later time connect again and request that the crash id be uploaded triggering an implementation defined callback. 2012-04-13 22:20:30 +00:00
crash_generation_client.cc Initialize a CustomClientInfo variable. (Coverity) 2012-05-15 22:33:29 +00:00
crash_generation_client.h wires up the crash client side so that the deferred upload callback can be used. 2012-05-03 18:15:11 +00:00
crash_generation_server.cc CrashGenerationServer's state machine can be invoked from both the application 2012-06-12 21:06:11 +00:00
crash_generation_server.h CrashGenerationServer's state machine can be invoked from both the application 2012-06-12 21:06:11 +00:00
crash_generation.gyp Fix svn:executable and svn:eol-style properties in src/client/windows. 2011-10-20 13:18:59 +00:00
minidump_generator.cc Do not fail crash dump generation if handle operations tracing is not enabled 2012-07-03 18:31:08 +00:00
minidump_generator.h Moved exception_handler_test to the more aptly named exception_handler_death_test. It doesn't test anything else than death and exit. 2010-05-12 17:51:21 +00:00
ReadMe.txt Fix newlines (#253). rs=ted.mielczarek 2008-04-07 21:50:57 +00:00

=========================================================================
 State machine transitions for the Crash Generation Server
=========================================================================

=========================================================================
               |
 STATE         | ACTIONS
               |
=========================================================================
 ERROR         | Clean up resources used to serve clients.
               | Always remain in ERROR state.
-------------------------------------------------------------------------
 INITIAL       | Connect to the pipe asynchronously.
               | If connection is successfully queued up asynchronously,
               | go into CONNECTING state.
               | If connection is done synchronously, go into CONNECTED
               | state.
               | For any unexpected problems, go into ERROR state.
-------------------------------------------------------------------------
 CONNECTING    | Get the result of async connection request.
               | If I/O is still incomplete, remain in the CONNECTING
               | state.
               | If connection is complete, go into CONNECTED state.
               | For any unexpected problems, go into DISCONNECTING state.
-------------------------------------------------------------------------
 CONNECTED     | Read from the pipe asynchronously.
               | If read request is successfully queued up asynchronously,
               | go into READING state.
               | For any unexpected problems, go into DISCONNECTING state.
-------------------------------------------------------------------------
 READING       | Get the result of async read request.
               | If read is done, go into READ_DONE state.
               | For any unexpected problems, go into DISCONNECTING state.
-------------------------------------------------------------------------
 READ_DONE     | Register the client, prepare the reply and write the
               | reply to the pipe asynchronously.
               | If write request is successfully queued up asynchronously,
               | go into WRITING state.
               | For any unexpected problems, go into DISCONNECTING state.
-------------------------------------------------------------------------
 WRITING       | Get the result of the async write request.
               | If write is done, go into WRITE_DONE state.
               | For any unexpected problems, go into DISCONNECTING state.
-------------------------------------------------------------------------
 WRITE_DONE    | Read from the pipe asynchronously (for an ACK).
               | If read request is successfully queued up asynchonously,
               | go into READING_ACK state.
               | For any unexpected problems, go into DISCONNECTING state.
-------------------------------------------------------------------------
 READING_ACK   | Get the result of the async read request.
               | If read is done, perform action for successful client
               | connection.
               | Go into DISCONNECTING state.
-------------------------------------------------------------------------
 DISCONNECTING | Disconnect from the pipe, reset the event and go into
               | INITIAL state and signal the event again. If anything
               | fails, go into ERROR state.
=========================================================================