вот блин. написал такой код:
fd_set active_fd_set;
FD_ZERO (&active_fd_set);
FD_SET (sock, &active_fd_set);
// send content
printf("sending client data\n");
CReqList *pt = m_pReqList;
do
{
struct timeval tv;
tv.tv_sec = 1;
tv.tv_usec = 0;
printf("select...");
if (select (FD_SETSIZE, &active_fd_set, NULL, NULL, &tv) < 0)
{
printf("sending error (select)\n");
return FALSE;
}
else
{
printf("send\n");
int res = send(sock, pt->buf, pt->len, MSG_NOSIGNAL);
if(res < 0)
{
printf("sending error (send)\n");
return FALSE;
}
}
pt = pt->next;
} while( pt );
запускаю глюкалу... начинает отсылать... ок, выдергиваю кабель из сетевухи... и просто офигеваю! строчки "select...send" продолжает еще некоторое время появляться на экране! типа все отсылается!
потом замирает (замирает на send). а ведь я хотел, чтобы вернула фальш в случае ошибки, и ошибка ведь на лицо! кабель то выдернут! интнета нету!
через пару минут втыкаю обратно кабель - немного подождав продолжает отсылать. и опять все пучком!
ХОЧУ СООБЩЕНИЕ ОБ ОШИБКЕЕЕЕЕЕ!!! где оно?