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

Side by Side Diff: third_party/tcmalloc/chromium/src/windows/port.cc

Issue 8550005: Put TCMalloc cleanup near the end of destructor list (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 9 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Copyright (c) 2007, Google Inc. 1 /* Copyright (c) 2007, Google Inc.
2 * All rights reserved. 2 * All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 } 147 }
148 } 148 }
149 149
150 #ifdef _MSC_VER 150 #ifdef _MSC_VER
151 151
152 // extern "C" suppresses C++ name mangling so we know the symbol names for the 152 // extern "C" suppresses C++ name mangling so we know the symbol names for the
153 // linker /INCLUDE:symbol pragmas above. 153 // linker /INCLUDE:symbol pragmas above.
154 extern "C" { 154 extern "C" {
155 // This tells the linker to run these functions. 155 // This tells the linker to run these functions.
156 #pragma data_seg(push, old_seg) 156 #pragma data_seg(push, old_seg)
157 #pragma data_seg(".CRT$XLB") 157 // Use CRT$XLY instead of CRT$XLB to ensure we're called LATER in sequence.
158 #pragma data_seg(".CRT$XLY")
wtc 2011/12/01 00:04:02 Just curious: why didn't you use CRT$XLZ?
158 void (NTAPI *p_thread_callback_tcmalloc)( 159 void (NTAPI *p_thread_callback_tcmalloc)(
159 HINSTANCE h, DWORD dwReason, PVOID pv) = on_tls_callback; 160 HINSTANCE h, DWORD dwReason, PVOID pv) = on_tls_callback;
160 #pragma data_seg(".CRT$XTU") 161 #pragma data_seg(".CRT$XTU")
161 int (*p_process_term_tcmalloc)(void) = on_process_term; 162 int (*p_process_term_tcmalloc)(void) = on_process_term;
162 #pragma data_seg(pop, old_seg) 163 #pragma data_seg(pop, old_seg)
163 } // extern "C" 164 } // extern "C"
164 165
165 #else // #ifdef _MSC_VER [probably msys/mingw] 166 #else // #ifdef _MSC_VER [probably msys/mingw]
166 167
167 // We have to try the DllMain solution here, because we can't use the 168 // We have to try the DllMain solution here, because we can't use the
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 if ((strlen(fname) >= prefix_length) && 329 if ((strlen(fname) >= prefix_length) &&
329 (memcmp(fname, prefix, prefix_length) == 0)) { 330 (memcmp(fname, prefix, prefix_length) == 0)) {
330 RAW_VLOG(0, "Removing old heap profile %s\n", fname); 331 RAW_VLOG(0, "Removing old heap profile %s\n", fname);
331 // TODO(csilvers): we really need to unlink dirname + fname 332 // TODO(csilvers): we really need to unlink dirname + fname
332 _unlink(fname); 333 _unlink(fname);
333 } 334 }
334 } while (FindNextFileA(hFind, &found) != FALSE); // A is for Ansi 335 } while (FindNextFileA(hFind, &found) != FALSE); // A is for Ansi
335 FindClose(hFind); 336 FindClose(hFind);
336 } 337 }
337 } 338 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698