select函数为什么不阻塞 想不明白
qjzrd 2011-11-04 10:56:32 #include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(int argc, char *argv[])
{
int filed;
int i = 0;
int max = 0;
filed = open("2.cc", O_RDONLY);
if(-1 == filed)
{
fprintf(stderr, "111111");
return -1;
}
max = filed;
fd_set writeset;//longÀàÐ͵ÄÊýÖé
FD_ZERO(&writeset);
FD_SET(filed, &writeset);
int s;
while(1)
{
s=select(filed + 1, NULL, &writeset, NULL, NULL);
if(s == -1)
{
fprintf(stderr, "s ³ö´íÎóÀ");
}
if(i == 5)
{
//break;
}
if(FD_ISSET(filed, &writeset))
{
++i;
fprintf(stderr, "i: %d\n", i);
}
}
close(filed);
}
//g++ 3.cc -o 3
为什么不阻塞?想不明白