> 1) а у тебя не используется что-то с авто-созданием строк ? какой-нибудь  
> StrNew, который автоматически вызовет собственный heap manager, а не  
> ib-шный ?
> в Delphi заменить стандартный менеджер на ib_malloc понятно как, есть ли  
> аналогичный хуки в FPC не знаю.

  Там гораздо все интересней. Сделал вот такую "мощную" библиотеку из
одной функции, у которой нет вх.параметров и она возвращает всегда
одно и тоже целое число, т.е. FREE_IT не нужен при объявлении, и все
равно виснет и клиент и серверный процесс, собака  :(

library test ;

{$Define Kylix}

uses
SysUtils,
Classes,
{$IfDef Kylix}
libc;
{$Else}
windows;
{$EndIf}

Function test : Integer ; cdecl ; export ;
Begin
  Result := 100 ;
End ;

Exports test name 'test' ;

begin
end.


> 2) а если убрать из объявления FREE_IT ? будет виснуть или нет ?
> понятно, что если не переписывать - будет понемногу течь памятью. Но для  
> тестирования можно попробовать ? сначала все функции, если перестанет  
> зависать - половину функций и т.д.

  Нет смысла. см. выше.

  Мне вот интересно, а есть в принципе sucsess story для UDF,
написанных на паскале, которые работают на Firebird 32битный CS 2.1.4,
2.5.1 под Linux 32? На 64 битах я не пробовал, может повезет хоть там.

С уважением,
Всеволод.

Ответить