+ Added flock for file locking

This commit is contained in:
michael 1998-04-07 13:08:29 +00:00
parent 12de31dbe5
commit 0fb05fec2a

View File

@ -1,5 +1,4 @@
{ {
$Id$
This file is part of the Free Pascal run time library. This file is part of the Free Pascal run time library.
Copyright (c) 1993,97 by Michael Van Canneyt, Copyright (c) 1993,97 by Michael Van Canneyt,
member of the Free Pascal development team. member of the Free Pascal development team.
@ -45,6 +44,13 @@ Const
Const Const
P_IN = 1; P_IN = 1;
P_OUT = 2; P_OUT = 2;
Const
LOCK_SH = 1;
LOCK_EX = 2;
LOCK_UN = 8;
LOCK_NB = 4;
Type Type
Tpipe = array[1..2] of longint; Tpipe = array[1..2] of longint;
@ -503,6 +509,9 @@ Function Chmod(path:pathstr;Newmode:longint):boolean;
Function Utime(path:pathstr;utim:utimbuf):boolean; Function Utime(path:pathstr;utim:utimbuf):boolean;
Function Access(Path:Pathstr ;mode:integer):boolean; Function Access(Path:Pathstr ;mode:integer):boolean;
Function Umask(Mask:Integer):integer; Function Umask(Mask:Integer):integer;
Function Flock (fd,mode : longint) : boolean;
Function Flock (var T : text;mode : longint) : boolean;
Function Flock (var F : File;mode : longint) : boolean;
Function FStat(Path:Pathstr;Var Info:stat):Boolean; Function FStat(Path:Pathstr;Var Info:stat):Boolean;
Function FStat(Fd:longint;Var Info:stat):Boolean; Function FStat(Fd:longint;Var Info:stat):Boolean;
Function FStat(var F:Text;Var Info:stat):Boolean; Function FStat(var F:Text;Var Info:stat):Boolean;
@ -1352,6 +1361,34 @@ end;
Function Flock (fd,mode : longint) : boolean;
var sr : Syscallregs;
begin
sr.reg2:=fd;
sr.reg3:=mode;
flock:=Syscall(Syscall_nr_flock,sr)=0;
LinuxError:=errno;
end;
Function Flock (var T : text;mode : longint) : boolean;
begin
Flock:=Flock( TextRec(T).Handle,mode );
end;
Function Flock (var F : File;mode : longint) : boolean;
begin
Flock:=Flock(FileRec(F).Handle,mode);
end;
Function FStat(Path:Pathstr;Var Info:stat):Boolean; Function FStat(Path:Pathstr;Var Info:stat):Boolean;
{ {
Get all information on a file, and return it in Info. Get all information on a file, and return it in Info.
@ -3121,7 +3158,11 @@ End.
{ {
$Log$ $Log$
Revision 1.3 1998-04-07 12:27:41 peter Revision 1.4 1998-04-07 13:08:29 michael
+ Added flock for file locking
Revision 1.3 1998/04/07 12:27:41 peter
* fixed fexpand('..') * fixed fexpand('..')
Revision 1.2 1998/04/04 17:07:17 michael Revision 1.2 1998/04/04 17:07:17 michael