LINUX.ORG.RU

SO_RCVTIMEO


0

0
struct timeval tv;
tv.tv_sec=0;
tv.tv_usec=500000;
if(setsockopt(sock,SOL_SOCKET,SO_RCVTIMEO,&tv, sizeof(tv)))
{ 
 "все плохо". 

Дальше, по каждому чиху, если что-то не так, сразу делаю

retval = recv(sock,&req,sizeof(req),0);
		if(retval != sizeof(req))
		{
			close(sock);
			fprintf(stderr,"Goodbye from client retval");
			pthread_exit( NULL );
		}
клиент давно сдох, нити его давно сдохли, а нити сервера все живые.

Ответ на: комментарий от Boy_from_Jungle

SO_KEEPALIVE это поддерживать соединение открытым, если мне не изменяет склероз. А если соединения нет? Кроме того, я написал что таймаут пол секунды.

Artem-Dnepr
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.