完善WIN平台文件映射
This commit is contained in:
parent
b83a31c5e4
commit
b6c57f0e8c
|
@ -347,7 +347,7 @@ int shared_memory::write(const char* data, size_t len)
|
|||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// tiny_file_map ...
|
||||
#ifdef WIN32
|
||||
#define IS_VALID_MAP(map) !map
|
||||
#define IS_VALID_MAP(map) map
|
||||
#else
|
||||
#define IS_VALID_MAP(map) map != -1
|
||||
#endif
|
||||
|
@ -406,10 +406,10 @@ int tiny_file_map::open(const char* file, unsigned int size, bool readonly)
|
|||
DWORD wrote = SetFilePointer(f, size - 1, NULL, FILE_BEGIN);
|
||||
if (wrote == size - 1)
|
||||
WriteFile(f, "\0", 1, &wrote, NULL);
|
||||
map_ = CreateFileMappingA(f, NULL, PAGE_READONLY, 0, size, NULL);
|
||||
map_ = CreateFileMappingA(f, NULL, PAGE_READWRITE, 0, size, NULL);
|
||||
if (map_)
|
||||
{
|
||||
buf_ = (unsigned char*)MapViewOfFile(map_, FILE_MAP_READ, 0, 0, size);
|
||||
buf_ = (unsigned char*)MapViewOfFile(map_, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, size);
|
||||
if (!buf_)
|
||||
ret = GetLastError();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue