В письме от Thu, 13 Oct 2011 10:35:36 +0400, Vsevolod <[email protected]> сообщал:

  3. Переписал все вызовы malloc на ib_util_malloc. Теперь функции
вызываются, возвращают правильные результаты, но теперь клиент виснет при
дисконнекте от БД. Завис IBE, также завис процесс gbak после того как
написал, что закончил рестор. Серверные процессы тоже не терминейтятся.


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


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



--
Написано в почтовом клиенте браузера Opera: http://www.opera.com/mail/

Ответить