summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorrvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-04 02:04:19 +0000
committerrvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-04 02:04:19 +0000
commitc75da645edbe00944e180a3868a7da459d9852ca (patch)
treece8a96e6f7bb1c81fae157c083af67f296682ddb /net
parenta6c3c9aabb69c72ed6409686680ee0bb68f23108 (diff)
downloadchromium_src-c75da645edbe00944e180a3868a7da459d9852ca.zip
chromium_src-c75da645edbe00944e180a3868a7da459d9852ca.tar.gz
chromium_src-c75da645edbe00944e180a3868a7da459d9852ca.tar.bz2
Add debug info to track a crash when sleeping.
BUG=31723 TEST=none Review URL: http://codereview.chromium.org/560039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38070 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/http/http_cache_transaction.cc11
-rw-r--r--net/url_request/url_request_http_job.cc13
2 files changed, 23 insertions, 1 deletions
diff --git a/net/http/http_cache_transaction.cc b/net/http/http_cache_transaction.cc
index 7c56627..3be313f 100644
--- a/net/http/http_cache_transaction.cc
+++ b/net/http/http_cache_transaction.cc
@@ -130,7 +130,14 @@ HttpCache::Transaction::Transaction(HttpCache* cache, bool enable_range_support)
Invalid_number_of_validation_headers);
}
+#if defined(OS_WIN)
+#pragma optimize("", off)
+#pragma warning(disable:4748)
+#endif
HttpCache::Transaction::~Transaction() {
+ // TODO(rvargas): remove this after finding the cause for bug 31723.
+ char local_obj[sizeof(*this)];
+ memcpy(local_obj, this, sizeof(local_obj));
if (cache_) {
if (entry_) {
bool cancel_request = reading_ && enable_range_support_;
@@ -157,6 +164,10 @@ HttpCache::Transaction::~Transaction() {
// cache_ pointer to signal that we are dead. See DoCacheReadCompleted.
cache_.reset();
}
+#if defined(OS_WIN)
+#pragma warning(default:4748)
+#pragma optimize("", on)
+#endif
int HttpCache::Transaction::Start(const HttpRequestInfo* request,
CompletionCallback* callback,
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
index 15b3373..25b0f33 100644
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -569,12 +569,23 @@ void URLRequestHttpJob::NotifyHeadersComplete() {
URLRequestJob::NotifyHeadersComplete();
}
+#if defined(OS_WIN)
+#pragma optimize("", off)
+#pragma warning(disable:4748)
+#endif
void URLRequestHttpJob::DestroyTransaction() {
- DCHECK(transaction_.get());
+ CHECK(transaction_.get());
+ // TODO(rvargas): remove this after finding the cause for bug 31723.
+ char local_obj[sizeof(*this)];
+ memcpy(local_obj, this, sizeof(local_obj));
transaction_.reset();
response_info_ = NULL;
}
+#if defined(OS_WIN)
+#pragma warning(default:4748)
+#pragma optimize("", on)
+#endif
void URLRequestHttpJob::StartTransaction() {
// NOTE: This method assumes that request_info_ is already setup properly.