mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 09:52:24 +00:00
PlatformWindows file sharing mode parity with PlatfromUnix. Allow GC to collect unused files.
This commit is contained in:
parent
f72b4280b7
commit
67e4848eb7
188 changed files with 278 additions and 252 deletions
|
|
@ -43,7 +43,7 @@ MODULE Files; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
|
|||
bufs: ARRAY NumBufs OF Buffer;
|
||||
swapper: INTEGER;
|
||||
state: INTEGER;
|
||||
next: File;
|
||||
next: POINTER [1] TO FileDesc;
|
||||
END;
|
||||
|
||||
BufDesc = RECORD
|
||||
|
|
@ -64,7 +64,7 @@ MODULE Files; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
|
|||
|
||||
|
||||
VAR
|
||||
files: File; (* List of files backed by an OS file, whether open, registered or temporary. *)
|
||||
files: POINTER [1] TO FileDesc; (* List of files backed by an OS file, whether open, registered or temporary. *)
|
||||
tempno: INTEGER;
|
||||
HOME: ARRAY 1024 OF CHAR;
|
||||
SearchPath: POINTER TO ARRAY OF CHAR;
|
||||
|
|
|
|||
|
|
@ -300,13 +300,13 @@ PROCEDURE Error*(): ErrorCode; BEGIN RETURN err() END Error;
|
|||
PROCEDURE -invalidHandleValue(): SYSTEM.ADDRESS "((ADDRESS)INVALID_HANDLE_VALUE)";
|
||||
|
||||
PROCEDURE -openrw (n: ARRAY OF CHAR): FileHandle
|
||||
"(ADDRESS)CreateFile((char*)n, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)";
|
||||
"(ADDRESS)CreateFile((char*)n, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)";
|
||||
|
||||
PROCEDURE -openro (n: ARRAY OF CHAR): FileHandle
|
||||
"(ADDRESS)CreateFile((char*)n, GENERIC_READ , FILE_SHARE_READ|FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)";
|
||||
"(ADDRESS)CreateFile((char*)n, GENERIC_READ , FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)";
|
||||
|
||||
PROCEDURE -opennew(n: ARRAY OF CHAR): FileHandle
|
||||
"(ADDRESS)CreateFile((char*)n, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0)";
|
||||
"(ADDRESS)CreateFile((char*)n, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0)";
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue