Значение системной переменной Unix errno

Значение системной переменной Unix errno

Когда при выполнении функции Unix (например, одной из функций сокетов) происходит ошибка, глобальной переменной errno присваивается положительное значение, указывающее на тип ошибки, а возвращаемое значение функции обычно равно -1. Наша функция err_sys проверяет значение переменной errno и печатает строку с соответствующим сообщением об ошибке (например, «Время соединения истекло», если значение переменной errno равно ETIMEDOUT).

Переменная errno устанавливается равной определенному значению, только если при выполнении функции произошла какая-либо ошибка. Ее значение не определено, если функция не возвращает ошибки. Все положительные значения ошибок являются константами с именами в верхнем регистре, начинающимися на «E», и обычно определяются в заголовке <sys/errno.h>. Ни одна ошибка не имеет кода 0.

Переменную errno нельзя хранить как глобальную переменную в случае множества потоков, у которых все глобальные переменные являются общими. О решении этой проблемы мы расскажем в главе 23.

На протяжении всего текста книги мы использовали фразы типа «функция connect возвращает ECONNREFUSED» для сокращенного обозначения того, что при выполнении функции произошла ошибка (обычно при этом возвращаемое значение функции равно -1), и значение переменной errno стало равным указанной константе.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

9.1.2.1 Выгрузка при выполнении системной функции fork

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

9.1.2.1 Выгрузка при выполнении системной функции fork В описании системной функции fork (раздел 7.1) предполагалось, что процесс-родитель получил в свое распоряжение память, достаточную для создания контекста потомка. Если это условие не выполняется, ядро выгружает процесс из


Шутка №10 — сброс системной даты/времени

Из книги Delphi. Учимся на примерах автора Парижский Сергей Михайлович

Шутка №10 — сброс системной даты/времени Последняя, десятая шутка будет устанавливать текущую дату 01.01.2000, и изменять текущее время на 00:00:01. Код этой шутки:GetLocalTime(tm); //узнаем текущую дату и времяtm.wYear:= 2000; //устанавливаем годtm.wMonth:= 01; //месяцtm.wDay:= 01; //деньtm.wHour:= 0; //часыtm.wMinute:= 0;


Unix-строки (чтение и запись Unix-файлов)

Из книги Советы по Delphi. Версия 1.0.6 автора Озеров Валентин

Unix-строки (чтение и запись Unix-файлов) Данный модуль позволяет читать и записывать файлы формата Unix.unit StreamFile;interfaceUses SysUtils;Procedure AssignStreamFile(var f: text; FileName: String);implementationConst BufferSize = 128;Type TStreamBuffer = Array[1..High(Integer)] of Char; TStreamBufferPointer = ^TStreamBuffer; TStreamFileRecord = Record  Case Integer Of  1: (   Filehandle: Integer;   Buffer:


Выбор системной платы

Из книги Asterisk™: будущее телефонии Второе издание автора Меггелен Джим Ван

Выбор системной платы Просто чтобы сразу устранить любую предвзятость, мы также не будем рекомендовать конкретную системную плату в данной книге. В условиях, когда каждую неделю появляются новые системные платы, любые рекомендации станут неактуальными еще до того, как


ГЛАВА 5 СОЗДАНИЕ И НАСТРОЙКА СИСТЕМНОЙ ИНФРАСТРУКТУРЫ

Из книги SAP R/3 Системное администрирование автора Хагеман Сигрид

ГЛАВА 5 СОЗДАНИЕ И НАСТРОЙКА СИСТЕМНОЙ ИНФРАСТРУКТУРЫ Надежная работа производственной системы с оптимальной производительностью является одной из наиболее важных задач системного администратора. Другой жизненно важной задачей является исключение проблем, которые


Значение errno

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

Значение errno При возникновении ошибки в функции Unix глобальной переменной errno присваивается положительное значение, указывающее на тип ошибки; при этом функция обычно возвращает значение –1. Наша функция err_sys выводит соответствующее коду ошибки сообщение (например, Resource


Планирование и управление системной платформой SAP

Из книги Внедрение SAP R/3: Руководство для менеджеров и инженеров автора Кале Вивек

Планирование и управление системной платформой SAP Природа рабочей среды SAP, а также среды разработки такова, что ни одна инсталляция не может проводиться по принципу односистемной платформы. Причина в следующем: вся информация содержится в хранилище R/3 и любые изменения


Настройка системной даты и времени

Из книги Настройка Windows 7 своими руками. Как сделать, чтобы работать было легко и удобно автора Гладкий Алексей Анатольевич

Настройка системной даты и времени Информация о текущей системной дате и времени по умолчанию отображается в правом нижнем углу интерфейса, в области уведомлений панели задач. Вы можете самостоятельно настроить режим ее отображения, и о том, как это делать, мы расскажем


7.5. Значение сопротивления в качестве изменяемой переменной

Из книги Визуальное моделирование электронных схем в PSPICE автора Хайнеманн Роберт

7.5. Значение сопротивления в качестве изменяемой переменной Теперь вы научитесь проводить анализ цепи постоянного тока DC Sweep, при котором в качестве изменяемой переменой будет использоваться значение сопротивления. В таких случаях значение сопротивления называется


6.2.3. Поиск и настройка базовой системной информации

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

6.2.3. Поиск и настройка базовой системной информации Существует несколько порций полезной информации о системе, которая может понадобиться программе. Например, название и версия операционной системы могут служить для определения функциональности, предлагаемой


Глава 11. Проектирование системной архитектуры

Из книги Rational Rose 2000 и UML Визуальное моделирование автора Кватрани Терри

Глава 11. Проектирование системной архитектуры Потребность в архитектуреНа протяжении многих лет я слышала разные определения программной архитектуры: от «программная архитектура — это то, чем занимаются специалисты по программной архитектуре» до «программная


4.3.1. Значения errno

Из книги Linux программирование в примерах автора Роббинс Арнольд

4.3.1. Значения errno Стандарт POSIX 2001 определяет большое число возможных значений для errno. Многие из них относятся к сетям, IPC или другим специальным задачам. Справочная страница для каждого системного вызова описывает возможные значения errno, которые могут иметь место; поэтому


8.14. Функция sysinfo(): получение системной статистики

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

8.14. Функция sysinfo(): получение системной статистики Функция sysinfo() возвращает системную статистике. Ее единственным аргументом является указатель на структуру типа sysinfo. Перечислим наиболее интересные поля этой структуры.? uptime — время в секундах, прошедшее с момента


18.3.13. Передача параметров сценария системной команде

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

18.3.13. Передача параметров сценария системной команде Позиционные параметры можно передать сценарию, а затем проверить значение переменной. Если при этом пользователь указывает после названия сценария наименование каталога, сценарий заново присваивает специальному