Revert "page_cache: use file lock also for read access"
This reverts commit 5c24050a645b0db69a806cb100f4e263ca191838.
This commit is contained in:
parent
5c8cf793ec
commit
c93998e817
@ -25,9 +25,6 @@
|
|||||||
|
|
||||||
#define UNMAPPED_PAGE 0xFFFFFFFFFFFFFFFFULL
|
#define UNMAPPED_PAGE 0xFFFFFFFFFFFFFFFFULL
|
||||||
|
|
||||||
static void page_cache_unlock(page_cache_t* self);
|
|
||||||
static void page_cache_lock(page_cache_t* self);
|
|
||||||
|
|
||||||
#ifndef STANDALONE_DECODER
|
#ifndef STANDALONE_DECODER
|
||||||
static bool reload_addresses(page_cache_t* self){
|
static bool reload_addresses(page_cache_t* self){
|
||||||
#else
|
#else
|
||||||
@ -43,8 +40,6 @@ bool reload_addresses(page_cache_t* self){
|
|||||||
if(self_offset != self->num_pages*PAGE_CACHE_ADDR_LINE_SIZE){
|
if(self_offset != self->num_pages*PAGE_CACHE_ADDR_LINE_SIZE){
|
||||||
//fprintf(stderr, "Reloading files ...\n");
|
//fprintf(stderr, "Reloading files ...\n");
|
||||||
|
|
||||||
page_cache_lock(self); // don't read while someone else is writing?
|
|
||||||
|
|
||||||
lseek(self->fd_address_file, self->num_pages*PAGE_CACHE_ADDR_LINE_SIZE, SEEK_SET);
|
lseek(self->fd_address_file, self->num_pages*PAGE_CACHE_ADDR_LINE_SIZE, SEEK_SET);
|
||||||
offset = self->num_pages;
|
offset = self->num_pages;
|
||||||
while(read(self->fd_address_file, &value, PAGE_CACHE_ADDR_LINE_SIZE)){
|
while(read(self->fd_address_file, &value, PAGE_CACHE_ADDR_LINE_SIZE)){
|
||||||
@ -84,8 +79,6 @@ bool reload_addresses(page_cache_t* self){
|
|||||||
munmap(self->page_data, self->num_pages*PAGE_SIZE);
|
munmap(self->page_data, self->num_pages*PAGE_SIZE);
|
||||||
self->num_pages = self_offset/PAGE_CACHE_ADDR_LINE_SIZE;
|
self->num_pages = self_offset/PAGE_CACHE_ADDR_LINE_SIZE;
|
||||||
self->page_data = mmap(NULL, (self->num_pages)*PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, self->fd_page_file, 0);
|
self->page_data = mmap(NULL, (self->num_pages)*PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, self->fd_page_file, 0);
|
||||||
|
|
||||||
page_cache_unlock(self);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user