|
|
UNIX 下alarm()应用到LINUX下不正常的求助
void timedout(int signo)
{
time_out = 1;
signal (SIGALRM, timedout);
}
//////////////////////////////
time_out = 0;
signal(SIGALRM, timedout);
alarm(30);
{
ret = recv(s, rdata, MAX_LEN, 0);
}
alarm(0);
shutdown (s, 2);
close (s);
if (time_out != 0)
{
return 2;
}
return 0;
LINUX下TCP的接收超时后,RECV()不能退出执行! |
|