Упражнения

We use cookies. Read the Privacy and Cookie Policy

Упражнения

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;

}

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

Данный текст является ознакомительным фрагментом.