Книга: 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
, а затем и программа очистки стандартного ввода-вывода.
- 6.3.2. Процедура сбора качественных данных
- Глава 2 Табличный редактор Microsoft Excel
- «Плиточные» структуры и квазикристаллы
- 16.13 Формат сообщений MIME
- Как уразуметь свою техническую роль и придерживаться ее
- Отправка запроса
- Build a Run-Time Image for an OS Design
- Как отвечать на письма, полученные вашей организацией
- 5.1.1. Создание трехмерной модели радиатора
- Привязка к процессорам
- Клонирование по сетке ("Copy to Grid")
- Программирование для Linux. Профессиональный подход