uses linux;

const
  lck = '/tmp/lockfile';


function makelock:integer;
var
  fd:integer;
begin
  fd := fdopen (lck, Open_RDWR or Open_CREAT or Open_EXCL, octal(0600));

  if fd < 0 then
  begin
    if linuxerror = SYS_EEXIST then
      halt (1)		(* файл занят другим процессом *)
    else
      halt (127);		(* неизвестная ошибка *)
  end;

  (* Файл блокировки создан, выход из процедуры *)
  fdclose (fd);
  makelock:=0;
end;


begin
  makelock;
end.
