firebird trouble
Добавлено: 16 ноя 2005, 13:18
Есть два компьютера с Win 2000 Pro, один выступает в роли сервера с Firebird 1.5.2.4731 (super server),
второй в роли клиента. Соеденены через локальную сеть. Есть клиентское приложение которое круглосуточно отлавливает изменения в БД на сервере (через события).
В случае разрыва связи между компьютерами (выдернули кабель из сетевой карты) клиент должен автоматически пытаться переподключаться к базе.
Проблема в следующем. При вызове isc_que_events первый раз у клиента создаётся дополнительный поток, который удаляется после вызова isc_cancel_events.
Если произошёл разрыв связи между компьютерами, то isc_cancel_events не удаляет этот созданный поток. А после восстановления связи isc_que_events
опять создаёт новый поток. Клиентская программа после разрыва связи и переподключения проработала более 3-х часов, но поток созданный первым
вызовом isc_que_events и не удалённый после разрыва связи, так и не удалился. В результате после каждого разрыва-соединения создаётся новый поток в
клиентском приложении.
Каким образом можно удалить этот зависший поток?
Попробовал поставить Firebird 2.0.0.11252-1 (соответственно и fbclient.dll от него) таже проблема.
второй в роли клиента. Соеденены через локальную сеть. Есть клиентское приложение которое круглосуточно отлавливает изменения в БД на сервере (через события).
В случае разрыва связи между компьютерами (выдернули кабель из сетевой карты) клиент должен автоматически пытаться переподключаться к базе.
Проблема в следующем. При вызове isc_que_events первый раз у клиента создаётся дополнительный поток, который удаляется после вызова isc_cancel_events.
Если произошёл разрыв связи между компьютерами, то isc_cancel_events не удаляет этот созданный поток. А после восстановления связи isc_que_events
опять создаёт новый поток. Клиентская программа после разрыва связи и переподключения проработала более 3-х часов, но поток созданный первым
вызовом isc_que_events и не удалённый после разрыва связи, так и не удалился. В результате после каждого разрыва-соединения создаётся новый поток в
клиентском приложении.
Каким образом можно удалить этот зависший поток?
Попробовал поставить Firebird 2.0.0.11252-1 (соответственно и fbclient.dll от него) таже проблема.