ha_reopen()

Заново открыть соединение в процессе восстановления

Прототип:

#include <ha/fcntl.h>
int ha_reopen( int oldfd,
const char *path,
int oflag,
... );

Аргументы:

oldfd
Соединение, которое оборвалось с ошибкой.
path
oflag
...
Описание параметров см. на странице open().

Библиотека:

libha

Описание:

Функцию ha_reopen() используется для повторного открытия соединения на этапе восстановления. Аргумент oldfd - идентификатор оборванного соединения. Функция ha_reopen() закрывает предыдущее соединение и открывает новое, используя параметры, указанные при вызове open().

Функция ha_reopen() также проверяет, что возвращаемый идентификатор нового соединения совпадает со старым идентификатором oldfd (как того требует механизм библиотеки HA). Если новый полученный идентификатор соединения не совпадает с oldfd, функция попытается получить совпадающий fd, вызвав функцию dup2().

Возвращаемое значение:

≠-1
Новый идентификатор соединения.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

Вызов ha_reopen() возвращает такие же коды ошибок, как и вызываемая внутри функция open().

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

ha_attach(), ha_close(), ha_detach(), ha_open(), ha_ReConnectAttach(), open()




Предыдущий раздел: Менеджер высокой готовности (HAM)