Книги автора: UNIX: разработка сетевых приложенийUNIX Network Programming
UNIX: взаимодействие процессовUNIX Network Programming. Volume 2 Second Edition. Interprocess Communications
/ Книги автора: UNIX: разработка сетевых приложенийUNIX Network Programming
UNIX: взаимодействие процессовUNIX Network Programming. Volume 2 Second Edition. Interprocess Communications
/ Книги автора: UNIX: разработка сетевых приложенийUNIX Network Programming
UNIX: взаимодействие процессовUNIX Network Programming. Volume 2 Second Edition. Interprocess Communications
/ Книга: UNIX: разработка сетевых приложений
Упражнения
Упражнения
1. Далее приведен альтернативный вариант цикла, рассмотренного в листинге 25.2:
for (;;) {
Sigprocmask(SIG_BLOCK, &newmask, &oldmask);
while (nqueue == 0)
sigsuspend(&zeromask); /* ожидание дейтаграммы для обработки */
nqueue--;
/* разблокирование SIGIO */
Sigprocmask(SIG_SETMASK, &oldmask, NULL);
Sendto(sockfd, dg[iget].dg_data, dg[iget].dg_len, 0,
dg[iget].dg_sa, dg[iget].dg_salen);
if (++iget >= QSIZE)
iget = 0;
}
Верна ли такая модификация?