1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
#include <assert.h>
#include <emscripten.h>
#include <stdio.h>
#include <stdlib.h>
void* allocation;
int main() {
const int CHUNK_SIZE = 100 * 1024 * 1024;
const int NUM_CHUNKS = 31; // total allocation will be over 3GB
puts("allocating");
for (int i = 0; i < NUM_CHUNKS; i++) {
printf("alloc %d\n", i);
allocation = malloc(CHUNK_SIZE);
if (!allocation) {
assert(i <= 20); // can't get to 2GB
puts("expected allocation failure");
return 0;
}
}
puts("UNEXPECTED");
}
|