TIMEOUT (Linux, C, API)

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
GANGSTER
Сообщения: 3
Зарегистрирован: 18 ноя 2009, 22:48

TIMEOUT (Linux, C, API)

Сообщение GANGSTER » 18 ноя 2009, 23:01

Вобщем наткнулся я на пока что нерешабельную для меня проблему

Где и как можно настроит timeout для операций с БД FireBird ???
например при пропадании сети isc_start_transaction(...) зависает у меня на 15мин!!!!!!!!
А isc_attach_database(...) на ASPLinux-е нормально выдает ошибку через 20сек. но на Slax зависает на тех же 15 мин.

пробовал изменять настройки в firebird.conf ConnectionTimeOut/DummyPacketInterval
но клиенская часть на это никак не реагировала...

Please Help!!!

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: TIMEOUT (Linux, C, API)

Сообщение kdv » 19 ноя 2009, 15:46

www.ibase.ru/devinfo/keepalive.htm

подобные задержки зависят только от подсистемы tcp на конкретном компе и в ОС. Вот вызвал клиент функцию "отправить пакет" в сокет, а с той стороны ничего. И? Клиент висит, естественно, ждет ответа. Т.е. виснет он на вызове системной функции. Теперь Вам стало легче? :-)

GANGSTER
Сообщения: 3
Зарегистрирован: 18 ноя 2009, 22:48

Re: TIMEOUT (Linux, C, API)

Сообщение GANGSTER » 19 ноя 2009, 17:30

спасибо! :)
но пока мне легче не стало
моя программма никак не реагирует на изменение

net.ipv4.tcp_keepalive_intvl, net.ipv4.tcp_keepalive_time, net.ipv4.tcp_keepalive_probes

как isc_start_transaction(...) ждала 15 мин., так и дальше ждет... вот.. :?
:cry:

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: TIMEOUT (Linux, C, API)

Сообщение Dimitry Sibiryakov » 20 ноя 2009, 13:31

GANGSTER писал(а):моя программма никак не реагирует на изменение

net.ipv4.tcp_keepalive_intvl, net.ipv4.tcp_keepalive_time, net.ipv4.tcp_keepalive_probes
И это вполне логично, поскольку таймауты ожидания ACK и количество ретрейнов никак с keep-alive не связаны.

GANGSTER
Сообщения: 3
Зарегистрирован: 18 ноя 2009, 22:48

Re: TIMEOUT (Linux, C, API)

Сообщение GANGSTER » 22 ноя 2009, 23:12

2 Dimitry Sibiryakov
а как мне настроить таймаут ожидания ACK ?

Ответить