Книга: UNIX: разработка сетевых приложений
Глава 14
Глава 14
14.1. Если не установлен обработчик, первый вызов функции signal
будет возвращать значение SIG_DFL
, а вызов функции signal
для восстановления обработчика просто вернет его в исходное состояние.
14.3. Приведем цикл for
:
for (;;) {
if ((n = Recv(sockfd, recvline, MAXLINE, MSG_PEEK)) == 0)
break; /* сервер закрыл соединение */
Ioctl(sockfd, FIONREAD, &npend);
printf("%d bytes from PEEK, %d bytes pendingn", n, npend);
n = Read(sockfd, recvline, MAXLINE);
recvline[n] = 0; /* завершающий нуль */
Fputs(recvline, stdout);
}
14.4. Данные продолжают выводиться, поскольку выход из функции main
— это то же самое, что и возврат из этой функции. Функция main
вызывается программой запуска на языке С следующим образом:
exit(main(argc, argv));
Следовательно, вызывается функция exit
, а затем и программа очистки стандартного ввода-вывода.
- Общественное мнение и этические вопросы в прямом маркетинге
- 8.3 Writing HTML
- Концепция «Путь Samsung» как основа конкурентоспособности корпорации
- Когда использовать невидимый Интернет
- Вычислимость в классической физике: где мы находимся?
- Создание содержимого уровня блока:
- Глава 18. Извлекайте уроки из всех своих разработок
- Управление значениями
- Расширение полномочий потребителей
- 24.4. Проблемы с установкой программ
- Шаг 2: Проведите логическую группировку для сравнения
- Ввод учетных данных пользователя