arena_set_readwrite
This commit is contained in:
parent
d17727c133
commit
192d5db2a5
@ -124,3 +124,11 @@ void arena_set_readonly(struct arena *arena)
|
||||
arena->readonly = true;
|
||||
#endif
|
||||
}
|
||||
|
||||
void arena_set_readwrite(struct arena *arena)
|
||||
{
|
||||
#if RTC
|
||||
arena->readonly = false;
|
||||
#endif
|
||||
sys_memory_set_committed_readwrite(arena->base, arena->committed);
|
||||
}
|
||||
|
||||
@ -33,6 +33,7 @@ void *_arena_push_bytes(struct arena *arena, u64 size, u64 align);
|
||||
void arena_copy_replace(struct arena *dest, struct arena *src);
|
||||
void arena_decommit_unused_blocks(struct arena *arena);
|
||||
void arena_set_readonly(struct arena *arena);
|
||||
void arena_set_readwrite(struct arena *arena);
|
||||
|
||||
INLINE void *_arena_push_bytes_zero(struct arena *arena, u64 size, u64 align)
|
||||
{
|
||||
|
||||
@ -168,6 +168,7 @@ void *sys_memory_commit(void *address, u64 size);
|
||||
void sys_memory_decommit(void *address, u64 size);
|
||||
|
||||
void sys_memory_set_committed_readonly(void *address, u64 size);
|
||||
void sys_memory_set_committed_readwrite(void *address, u64 size);
|
||||
|
||||
/* ========================== *
|
||||
* Time
|
||||
|
||||
@ -208,10 +208,16 @@ void sys_memory_decommit(void *address, u64 size)
|
||||
|
||||
void sys_memory_set_committed_readonly(void *address, u64 size)
|
||||
{
|
||||
DWORD old = PAGE_READWRITE;
|
||||
DWORD old;
|
||||
VirtualProtect(address, size, PAGE_READONLY, &old);
|
||||
}
|
||||
|
||||
void sys_memory_set_committed_readwrite(void *address, u64 size)
|
||||
{
|
||||
DWORD old;
|
||||
VirtualProtect(address, size, PAGE_READWRITE, &old);
|
||||
}
|
||||
|
||||
/* ========================== *
|
||||
* Time
|
||||
* ========================== */
|
||||
|
||||
Loading…
Reference in New Issue
Block a user