1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-13 20:01:56 +00:00
srs/trunk/research/frame/bad_alloc1.cpp

18 lines
435 B
C++
Raw Normal View History

2020-10-29 06:52:53 +00:00
/*
ulimit -S -v 204800
g++ -g -O0 bad_alloc1.cpp -o bad_alloc && ./bad_alloc
*/
#include <stdio.h>
#include <new>
void handler() {
printf("Memory allocate failed\n");
std::set_new_handler(NULL); // New will try to alloc again, then abort.
}
int main(){
std::set_new_handler(handler);
char* p1 = new char[193000 * 1024]; // huge allocation
char* p0 = new char[100 * 1024]; // small allocation
printf("OK\n");
}