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;
|
arena->readonly = true;
|
||||||
#endif
|
#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_copy_replace(struct arena *dest, struct arena *src);
|
||||||
void arena_decommit_unused_blocks(struct arena *arena);
|
void arena_decommit_unused_blocks(struct arena *arena);
|
||||||
void arena_set_readonly(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)
|
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_decommit(void *address, u64 size);
|
||||||
|
|
||||||
void sys_memory_set_committed_readonly(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
|
* Time
|
||||||
|
|||||||
@ -208,10 +208,16 @@ void sys_memory_decommit(void *address, u64 size)
|
|||||||
|
|
||||||
void sys_memory_set_committed_readonly(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);
|
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
|
* Time
|
||||||
* ========================== */
|
* ========================== */
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user