Книга: 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;
}

Верна ли такая модификация?

Оглавление книги


Генерация: 0.085. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз