У меня есть проект, в котором мы используем libjson-rpc-cpp версии 0.2.1-45.
У меня есть код, который использует функцию HttpClient :: SendMessage () для отправки вызова метода на другой сервер.
Из-за потери связи или сбоя сервера SendMessage () блокируется и не возвращается.
Это вызывает каскад блокировок семафора и мьютекса, который запускает сторожевой таймер для закрытия программы.
Я знаю, что изменение кода libjson-rpc-cpp для включения
curl_easy_setop (локон, CURLOPT_TIMEOUT, 20);
в методе SendMessage исправит проблему с таймаутом.
Я использую код в дистрибутиве Scientific Linux, основанном на Fedora Core 10.
Я пытаюсь сделать это без модификации кода, которая потребует распространения нового кода для клиента.
Есть ли способ добавить тайм-аут для SendMessage, используя файлы конфигурации, переменные окружения или каким-либо другим способом, о котором я не думал, чтобы мне не пришлось отправлять новый диск с кодом?
Горст
Задача ещё не решена.
Других решений пока нет …