# | Line 204 | Line 204 | rmx_load_double(RMATRIX *rm, FILE *fp) | |
---|---|---|
204 | int i; | |
205 | #ifdef MAP_FILE | |
206 | long pos; /* map memory to file if possible */ | |
207 | < | if (!rm->swapin && (pos = ftell(fp)) >= 0 && !(pos % sizeof(double))) { |
207 | > | if (!rm->swapin && array_size(rm) >= 1L<<20 && |
208 | > | (pos = ftell(fp)) >= 0 && !(pos % sizeof(double))) { |
209 | rm->mapped = mmap(NULL, array_size(rm)+pos, PROT_READ|PROT_WRITE, | |
210 | MAP_PRIVATE, fileno(fp), 0); | |
211 | if (rm->mapped != MAP_FAILED) { |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |