diff --git a/src/dbgi/dbgi.c b/src/dbgi/dbgi.c index 36879117..de5d7143 100644 --- a/src/dbgi/dbgi.c +++ b/src/dbgi/dbgi.c @@ -690,7 +690,7 @@ dbgi_parse_thread_entry_point(void *p) void *exe_file_base = 0; if(do_task) { - exe_file = os_file_open(OS_AccessFlag_Read|OS_AccessFlag_ShareRead, exe_path); + exe_file = os_file_open(OS_AccessFlag_Read|OS_AccessFlag_ShareRead|OS_AccessFlag_ShareWrite, exe_path); exe_file_props = os_properties_from_file(exe_file); exe_file_map = os_file_map_open(OS_AccessFlag_Read, exe_file); exe_file_base = os_file_map_view_open(exe_file_map, OS_AccessFlag_Read, r1u64(0, exe_file_props.size)); @@ -935,7 +935,7 @@ dbgi_parse_thread_entry_point(void *p) void *raddbgi_file_base = 0; if(do_task && raddbgi_file_is_up_to_date) { - raddbgi_file = os_file_open(OS_AccessFlag_Read|OS_AccessFlag_ShareRead, raddbgi_path); + raddbgi_file = os_file_open(OS_AccessFlag_Read|OS_AccessFlag_ShareRead|OS_AccessFlag_ShareWrite, raddbgi_path); raddbgi_file_map = os_file_map_open(OS_AccessFlag_Read, raddbgi_file); raddbgi_file_props = os_properties_from_file(raddbgi_file); raddbgi_file_base = os_file_map_view_open(raddbgi_file_map, OS_AccessFlag_Read, r1u64(0, raddbgi_file_props.size)); diff --git a/src/os/core/win32/os_core_win32.c b/src/os/core/win32/os_core_win32.c index 077dce21..0d13d0e4 100644 --- a/src/os/core/win32/os_core_win32.c +++ b/src/os/core/win32/os_core_win32.c @@ -662,7 +662,7 @@ os_file_open(OS_AccessFlags flags, String8 path) if(flags & OS_AccessFlag_Write) {access_flags |= GENERIC_WRITE;} if(flags & OS_AccessFlag_Execute) {access_flags |= GENERIC_EXECUTE;} if(flags & OS_AccessFlag_ShareRead) {share_mode |= FILE_SHARE_READ;} - if(flags & OS_AccessFlag_ShareWrite) {share_mode |= FILE_SHARE_WRITE;} + if(flags & OS_AccessFlag_ShareWrite) {share_mode |= FILE_SHARE_WRITE|FILE_SHARE_DELETE;} if(flags & OS_AccessFlag_Write) {creation_disposition = CREATE_ALWAYS;} HANDLE file = CreateFileW((WCHAR *)path16.str, access_flags, share_mode, 0, creation_disposition, FILE_ATTRIBUTE_NORMAL, 0); if(file != INVALID_HANDLE_VALUE)