version 1.149, 2005/04/26 19:25:43
|
version 1.150, 2005/04/28 18:14:30
|
Line 524 Address dict_alloc_read(FILE *file, Cell
|
Line 524 Address dict_alloc_read(FILE *file, Cell
|
|
|
#if defined(HAVE_MMAP) |
#if defined(HAVE_MMAP) |
if (offset==0) { |
if (offset==0) { |
Address image1; |
|
image=alloc_mmap(dictsize); |
image=alloc_mmap(dictsize); |
debugp(stderr,"try mmap($%lx, $%lx, ..., MAP_FIXED|MAP_FILE, imagefile, 0); ", (long)image, (long)imagesize); |
if (image != (Address)MAP_FAILED) { |
image1 = mmap(image, imagesize, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_FIXED|MAP_FILE|MAP_PRIVATE, fileno(file), 0); |
Address image1; |
after_alloc(image1,dictsize); |
debugp(stderr,"try mmap($%lx, $%lx, ..., MAP_FIXED|MAP_FILE, imagefile, 0); ", (long)image, (long)imagesize); |
if (image != (Address)MAP_FAILED && image1 == (Address)MAP_FAILED) |
image1 = mmap(image, imagesize, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_FIXED|MAP_FILE|MAP_PRIVATE, fileno(file), 0); |
goto read_image; |
after_alloc(image1,dictsize); |
|
if (image1 == (Address)MAP_FAILED) |
|
goto read_image; |
|
} |
} |
} |
#endif /* defined(HAVE_MMAP) */ |
#endif /* defined(HAVE_MMAP) */ |
if (image == (Address)MAP_FAILED) { |
if (image == (Address)MAP_FAILED) { |