Я исследовал и обнаружил, что прерывание сигнала может произойти при программировании с сокетами. Я искал и обнаружил, что в случае прерывания сигнала, мы должны повторить попытку. То есть я должен отловить ошибку и повторить попытку. Я должен создать сокет, как это.
int create_sock()
{
int sock;
while (1)
{
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock == -1)
{
if (errno == EINTR)
{
continue;
}
else
{
perror("create_sock");
exit(-1);
}
}
break;
}
return sock;
}
Должен ли я следовать вышеописанной процедуре в случае функции закрытия, отправки и подключения?