Суббота, 23.09.2017, 05:02
Приветствую Вас, Гость
Главная » 2014 » Январь » 13 » Возвращаемые значения и коды ошибок
10:09
Возвращаемые значения и коды ошибок

В случае успеха оба вызова возвращают значение 0. В случае сбоя оба вызовавозвращают -1 и присваивают переменной еггпо одно из следующих трехзначений: EBA0FУказанный файловый дескриптор является недопустимым или не открытдля записи.EINVALУказанный файловый дескриптор соответствует объекту, пе поддерживающемусинхронизацию.ЕЮВо время синхронизации произошла низкоуровневая ошибка ввода-вывода.Это говорит о реальной ошибке ввода-вывода, и именно здесь зачастую отлавливаютсятакие ошибки.Вызов fsyncO может легко завершиться ошибкой из-за того, что fsyncO нереализован в конкретной файловой системе, даже если fdatasyncO. В приложениях в случае, когда fsync( ) возвращает код ошибкиEINVAL, можно пробовать делать то же самое с использованием fdatasyncO. Например:if (fsync (fd) == -1) /** Мы предпочитаем fsyncO. но давайте попробуем fdatasync( ) на* случай, если fsync( ) не сработает, просто для гарантии*/if (еггпо == EINVAL) if (fdatasync (fd) == -1)perror ("e;fdatasync"e;). elseperror ("e;fsync"e;).}Так как POSIX требует использования fsync( ) и считает fdatasync() необязательнымвызовом, системный вызов fsync () всегда должен реализовываться дляобычных файлов во всех распространенных файловых системах Linux. Однакодля необычных типов файлов (тех, в которых нет метаданных, требующих синхронизации)или странных файловых систем можно реализовывать только fdatasync().


оформление на работу на период передачи дел
Просмотров: 31888 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: