diff --git a/doc/generated/doxygen/annotated.html b/doc/generated/doxygen/annotated.html index 3e987072..26603caf 100644 --- a/doc/generated/doxygen/annotated.html +++ b/doc/generated/doxygen/annotated.html @@ -315,26 +315,27 @@ $(function() {
- - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +This is the complete list of members for crashpad::CrashReportUploadThread, including all inherited members.
CrashReportUploadThread(CrashReportDatabase *database, const std::string &url, bool rate_limit, bool upload_gzip) | crashpad::CrashReportUploadThread | ||||||
ReportPending() | crashpad::CrashReportUploadThread | ||||||
CrashReportUploadThread(CrashReportDatabase *database, const std::string &url, bool watch_pending_reports, bool rate_limit, bool upload_gzip) | crashpad::CrashReportUploadThread | ||||||
ReportPending(const UUID &report_uuid) | crashpad::CrashReportUploadThread | ||||||
Start() | crashpad::CrashReportUploadThread | ||||||
Stop() | crashpad::CrashReportUploadThread | ||||||
~CrashReportUploadThread() (defined in crashpad::CrashReportUploadThread) | crashpad::CrashReportUploadThread |
Public Member Functions | |
CrashReportUploadThread (CrashReportDatabase *database, const std::string &url, bool rate_limit, bool upload_gzip) | |
Constructs a new object. More... | |
CrashReportUploadThread (CrashReportDatabase *database, const std::string &url, bool watch_pending_reports, bool rate_limit, bool upload_gzip) | |
Constructs a new object. More... | |
void | Start () |
Starts a dedicated upload thread, which executes ThreadMain(). More... | |
void | Stop () |
Stops the upload thread. More... | |
void | ReportPending () |
Informs the upload thread that a new pending report has been added to the database. More... | |
void | ReportPending (const UUID &report_uuid) |
Informs the upload thread that a new pending report has been added to the database. More... | |
A thread that processes pending crash reports in a CrashReportDatabase by uploading them or marking them as completed without upload, as desired.
-A producer of crash reports should notify an object of this class that a new report has been added to the database by calling ReportPending().
-Independently of being triggered by ReportPending(), objects of this class periodically examine the database for pending reports. This allows failed upload attempts for reports left in the pending state to be retried. It also catches reports that are added without a ReportPending() signal being caught. This may happen if crash reports are added to the database by other processes.
+A producer of crash reports should notify an object of this class that a new report has been added to the database by calling ReportPending().
+Independently of being triggered by ReportPending(), objects of this class can periodically examine the database for pending reports. This allows failed upload attempts for reports left in the pending state to be retried. It also catches reports that are added without a ReportPending() signal being caught. This may happen if crash reports are added to the database by other processes.
[in] | database | The database to upload crash reports from. |
[in] | url | The URL of the server to upload crash reports to. |
[in] | watch_pending_reports | Whether to periodically check for new pending reports not already known to exist. When false , only an initial upload attempt will be made for reports known to exist by having been added by the ReportPending() method. No scans for new pending reports will be conducted. |
[in] | rate_limit | Whether uploads should be throttled to a (currently hardcoded) rate. |
[in] | upload_gzip | Whether uploads should use gzip compression. |
Informs the upload thread that a new pending report has been added to the database.
+[in] | report_uuid | The unique identifier of the newly added pending report. |
This method may be called from any thread.
MACH_MSG_SUCCESS
(when persistent is kOneShot) or MACH_RCV_TIMED_OUT
(when persistent is kOneShot and timeout_ms is not kMachMessageTimeoutWaitIndefinitely). This function has no successful return value when persistent is kPersistent and timeout_ms is kMachMessageTimeoutWaitIndefinitely. On failure, returns a value identifying the nature of the error. MACH_MSG_SUCCESS
(when persistent is kOneShot) or MACH_RCV_TIMED_OUT
(when persistent is kOneShot and timeout_ms is not kMachMessageTimeoutWaitIndefinitely). This function has no successful return value when persistent is kPersistent and timeout_ms is kMachMessageTimeoutWaitIndefinitely. On failure, returns a value identifying the nature of the error. A request received with a reply port that is (or becomes) a dead name before the reply is sent will result in MACH_SEND_INVALID_DEST
as a return value, which may or may not be considered an error from the caller’s perspective. This is the complete list of members for crashpad::Semaphore, including all inherited members.
Semaphore(int value) | crashpad::Semaphore | explicit |
Signal() | crashpad::Semaphore | |
TimedWait(double seconds) | crashpad::Semaphore | |
Wait() | crashpad::Semaphore | |
~Semaphore() (defined in crashpad::Semaphore) | crashpad::Semaphore | |
kIndefiniteWait | crashpad::Semaphore | static |
Semaphore(int value) | crashpad::Semaphore | explicit |
Signal() | crashpad::Semaphore | |
TimedWait(double seconds) | crashpad::Semaphore | |
Wait() | crashpad::Semaphore | |
~Semaphore() (defined in crashpad::Semaphore) | crashpad::Semaphore |
+Static Public Attributes | |
static constexpr double | kIndefiniteWait |
A TimedWait() argument that causes an indefinite wait. More... | |
An anonymous in-process counting sempahore.
@@ -169,7 +176,7 @@ Public Member FunctionsPerforms a timed wait (or “procure”) operation on the semaphore.
[in] | seconds | The maximum number of seconds to wait for the operation to complete. |
[in] | seconds | The maximum number of seconds to wait for the operation to complete. If seconds is kIndefiniteWait, this method behaves as Wait(), and will not time out. |
Atomically decrements the value of the semaphore by 1. If the new value is negative, this function blocks and will not return until the semaphore’s value is incremented to 0 by Signal().
+
|
+ +static | +
A TimedWait() argument that causes an indefinite wait.
+
+ Crashpad
+
+ |
+
This is the complete list of members for crashpad::ThreadSafeVector< T >, including all inherited members.
+Drain() | crashpad::ThreadSafeVector< T > | inline |
PushBack(const T &element) | crashpad::ThreadSafeVector< T > | inline |
ThreadSafeVector() (defined in crashpad::ThreadSafeVector< T >) | crashpad::ThreadSafeVector< T > | inline |
~ThreadSafeVector() (defined in crashpad::ThreadSafeVector< T >) | crashpad::ThreadSafeVector< T > | inline |
+ Crashpad
+
+ |
+
A wrapper for a std::vector<>
that can be accessed safely from multiple threads.
+ More...
#include "util/stdlib/thread_safe_vector.h"
+Public Member Functions | |
+void | PushBack (const T &element) |
Wraps std::vector<>::push_back() . | |
+std::vector< T > | Drain () |
Atomically clears the underlying vector and returns its previous contents. | |
A wrapper for a std::vector<>
that can be accessed safely from multiple threads.
This is not a drop-in replacement for std::vector<>
. Only necessary operations are defined.
+Static Public Attributes | |
+static constexpr double | kIndefiniteWait = Semaphore::kIndefiniteWait |
A delay or interval argument that causes an indefinite wait. | |
std::vector<>
that can be accessed safely from multiple threads. More...main()
of the crashpad_handler
binary. More..."file-limits"
simple annotation for the process. More...void crashpad::RecordFileLimitAnnotation | +( | +) | ++ |
Records a "file-limits"
simple annotation for the process.
This annotation will be used to confirm the theory that certain crashes are caused by systems at or near their file descriptor table size limits.
+The format of the annotation is four comma-separated values: the system-wide kern.num_files
and kern.maxfiles
values from sysctl()
, and the process-specific current and maximum file descriptor limits from getrlimit(RLIMIT_NOFILE, …)
.
See https://crashpad.chromium.org/bug/180.
+TODO(mark): Remove this annotation after sufficient data has been collected for analysis.
+