CreateGuid в Linux

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

CreateGuid в Linux

Сообщение Сергей Смирнов » 03.07.2008 15:46:11

Вроде бы эта штука работает... но иногда (не всегда!!!), при неустановленных обстоятельствах, многократный последовательный вызов CreateGuid генерит примерно такое:

Код: Выделить всё
B7F52264-3BE7-0805-7422-F5B77023F5B7
00000000-FEE8-B74B-BCB9-0608E8FE4BB7
00000000-FFE8-B752-BCB9-0608E8FF52B7
00000000-5DE8-B753-BCB9-0608E85D53B7
00000000-26E8-B74E-BCB9-0608E8264EB7
...


То есть первая генерация нормальная, а потом начинают создаваться какие-то странные последовательности, которые иногда повторяются.
Конкретно под линуксом работает следующая функция:

Код: Выделить всё
Const
  KernelUUID       = '/proc/sys/kernel/random/uuid';

Function CreateKernelGUID(Var GUID : TGUID) : Boolean;

Const
  UUIDLen = 36;

Var
  fd: Longint;
  S : String;
 
begin
  fd:=FileOpen(KernelUUID,fmOpenRead);
  Result:=(Fd>=0);
  if Result then
    begin
    SetLength(S,UUIDLen);
    SetLength(S,FileRead(fd,S[1],UUIDLen));
    Result:=(Length(S)=UUIDLen);
    If Result then
      begin
      GUID:=StringToGUID('{'+S+'}');
      //Writeln('Kernel ID = ',GuidToString(GUID));
      end;
    end;
end;



При тщательном ея рассмотрении видно, что GUID получается из некоего фиктивного файла, но, что смущает, файл этот открывается, но потом не закрывается. Прежде чем позориться в багтрекере, подскажите: это нормальное положение вещей или как?
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Re: CreateGuid в Linux

Сообщение Sergei I. Gorelkin » 03.07.2008 18:28:05

Незакрытие файла уже исправили, причем довольно давно. Обновляйтесь...
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: CreateGuid в Linux

Сообщение Сергей Смирнов » 03.07.2008 21:40:30

Обновился. Да, действительно в сегодняшнем снапшоте уже исправлено, спасибо.
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 4

Рейтинг@Mail.ru