io.c的igetkey()函数有问题,没有判断用户是否断线,造成死循环
修改io.c的igetkey()函数
/*原文,但是有问题,改掉
a_len = read(0, &a, 1);
if(a_len==0||(a_len < 0 && errno != EINTR))
abort_bbs();
ch = (int) a;
} else
ch = igetch();
*/
/*changed
*/
a_len = read(0, &a, 1);
if( a_len <= 0 )
{
if( !a_len )
{
abort_bbs();
}
else
{
if( errno != EINTR )
{
abort_bbs();
}
ch = EOF;
}
}
else
{
ch = (int) a;
}
} else
ch = igetch();
//changed end
【 在 stid (不需要) 的大作中提到: 】
: 你是怎么解决的?
--
FROM 211.96.232.46