您现在的位置是:主页 > news > 大连做网站的科技公司/seo应该如何做
大连做网站的科技公司/seo应该如何做
admin2025/6/18 22:33:30【news】
简介大连做网站的科技公司,seo应该如何做,wordpress相册功能,wordpress黑暗因在测试unix操作串口时,发现向硬件设备write指令后,read硬件返回指令时处于阻塞状态,后查阅一些资料。改成超时退出,代码如下(测试平台:Solaris):/*brief: 超时读数据fd: 文件描述述lpdata: 数据指针ti…
因在测试unix操作串口时,发现向硬件设备write指令后,read硬件返回指令时处于阻塞状态,后查阅一些资料。改成超时退出,代码如下(测试平台:Solaris):
/*
brief: 超时读数据
fd: 文件描述述
lpdata: 数据指针
timeout: 超时值(秒)
len: 读数据长度
*/
int ReadData(int fd,char *lp_out_data,int timeout,int len)
{
fd_set rxset;
int z;
int nfds;
struct timeval tv;
char lpdata[RECV_MAX_DATA];
do
{
FD_ZERO(&rxset);
if(fd>=0)
FD_SET(fd,&rxset);
nfds = fd+1;
tv.tv_sec=timeout;
tv.tv_usec = 0;
do
{
z = select(nfds,&rxset,0,0,&tv);
}while(z==-1&&errno==EINTR);
if(z == -1)
printf("select(2)\n");
if(z == 0)
{
printf("timeout\n");
fd = -1;
}
if(fd>=0&&FD_ISSET(fd,&rxset))
{
memset(lpdata,0,sizeof(lpdata));
if (len > RECV_MAX_DATA)
len = RECV_MAX_DATA;
z = read(fd,lpdata,len);
if(z == -1)
{
printf("read(2) of fd\n");
fd = -1;
}
if(z >0)
{
lpdata[z]=0;
strcat(lp_out_data,lpdata);
// printf("read %d bytes <> from fd;\n",z,lpdata[0]);
}
else
{
printf("read EOF from fd;");
fd = -1;
}
}
}while (fd>=0);
}
推荐大家看《unix高级编程》一书。呵呵!!!!!!!!