Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/process_util.h" | 5 #include "base/process_util.h" |
| 6 | 6 |
| 7 #include <dirent.h> | 7 #include <dirent.h> |
| 8 #include <malloc.h> | 8 #include <malloc.h> |
| 9 #include <sys/time.h> | 9 #include <sys/time.h> |
| 10 #include <sys/types.h> | 10 #include <sys/types.h> |
| (...skipping 727 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 738 LOG(FATAL) << "Out of memory, size = " << size; | 738 LOG(FATAL) << "Out of memory, size = " << size; |
| 739 LOG(FATAL) << "Out of memory."; | 739 LOG(FATAL) << "Out of memory."; |
| 740 } | 740 } |
| 741 | 741 |
| 742 void OnNoMemory() { | 742 void OnNoMemory() { |
| 743 OnNoMemorySize(0); | 743 OnNoMemorySize(0); |
| 744 } | 744 } |
| 745 | 745 |
| 746 } // namespace | 746 } // namespace |
| 747 | 747 |
| 748 #if !defined(OS_ANDROID) && !defined(USE_TCMALLOC) && \ | 748 #if defined(GLIBC) && !defined(USE_TCMALLOC) && \ |
|
agl
2013/05/20 15:18:22
It's not clear that we don't actually want this ma
Mostyn Bramley-Moore
2013/05/20 20:41:41
I downloaded android-ndk-r8e and inspected platfor
| |
| 749 !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \ | 749 !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \ |
| 750 !defined(THREAD_SANITIZER) | 750 !defined(THREAD_SANITIZER) |
| 751 | 751 |
| 752 extern "C" { | 752 extern "C" { |
| 753 void* __libc_malloc(size_t size); | 753 void* __libc_malloc(size_t size); |
| 754 void* __libc_realloc(void* ptr, size_t size); | 754 void* __libc_realloc(void* ptr, size_t size); |
| 755 void* __libc_calloc(size_t nmemb, size_t size); | 755 void* __libc_calloc(size_t nmemb, size_t size); |
| 756 void* __libc_valloc(size_t size); | 756 void* __libc_valloc(size_t size); |
| 757 void* __libc_pvalloc(size_t size); | 757 void* __libc_pvalloc(size_t size); |
| 758 void* __libc_memalign(size_t alignment, size_t size); | 758 void* __libc_memalign(size_t alignment, size_t size); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 819 int posix_memalign(void** ptr, size_t alignment, size_t size) | 819 int posix_memalign(void** ptr, size_t alignment, size_t size) |
| 820 __attribute__ ((visibility("default"))); | 820 __attribute__ ((visibility("default"))); |
| 821 | 821 |
| 822 int posix_memalign(void** ptr, size_t alignment, size_t size) { | 822 int posix_memalign(void** ptr, size_t alignment, size_t size) { |
| 823 // This will use the safe version of memalign, above. | 823 // This will use the safe version of memalign, above. |
| 824 *ptr = memalign(alignment, size); | 824 *ptr = memalign(alignment, size); |
| 825 return 0; | 825 return 0; |
| 826 } | 826 } |
| 827 | 827 |
| 828 } // extern C | 828 } // extern C |
| 829 #endif // ANDROID, TCMALLOC, *_SANITIZER | 829 #endif // GLIBC, !TCMALLOC, !*_SANITIZER |
| 830 | 830 |
| 831 void EnableTerminationOnHeapCorruption() { | 831 void EnableTerminationOnHeapCorruption() { |
| 832 // On Linux, there nothing to do AFAIK. | 832 // On Linux, there nothing to do AFAIK. |
| 833 } | 833 } |
| 834 | 834 |
| 835 void EnableTerminationOnOutOfMemory() { | 835 void EnableTerminationOnOutOfMemory() { |
| 836 #if defined(OS_ANDROID) | 836 #if defined(OS_ANDROID) |
| 837 // Android doesn't support setting a new handler. | 837 // Android doesn't support setting a new handler. |
| 838 DLOG(WARNING) << "Not feasible."; | 838 DLOG(WARNING) << "Not feasible."; |
| 839 #else | 839 #else |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 879 int score_len = static_cast<int>(score_str.length()); | 879 int score_len = static_cast<int>(score_str.length()); |
| 880 return (score_len == file_util::WriteFile(oom_file, | 880 return (score_len == file_util::WriteFile(oom_file, |
| 881 score_str.c_str(), | 881 score_str.c_str(), |
| 882 score_len)); | 882 score_len)); |
| 883 } | 883 } |
| 884 | 884 |
| 885 return false; | 885 return false; |
| 886 } | 886 } |
| 887 | 887 |
| 888 } // namespace base | 888 } // namespace base |
| OLD | NEW |