Есть подпрограмма которая должна копировать данные из одного дескриптора на другой
если ей передать дескрипторы 0 и 1 то почему-то печатается всякая муть, помогите разобраться
int cpFromTo(int from, int to, int timeout, int limit){
char buffer[256];
int max,rc,r;
struct timeval tv;
fd_set rfd;
fd_set wfd;
FD_ZERO(&rfd);
FD_ZERO(&wfd);
FD_SET(from,&rfd);
FD_SET(to,&wfd);
tv.tv_sec=5;
tv.tv_usec=0;
if(from>to)
max=from;
else
max=to;
rc=select(max+1,&rfd,&wfd,NULL,&tv);
if(rc){
if(FD_ISSET(from,&rfd)){
r=read(from,buffer,sizeof(buffer)-1);
buffer[r]='\0';
if(r==0 || r==-1)
return 0;
}
if(FD_ISSET(to,&wfd)){
r=write(to,buffer,strlen(buffer));
if(r==0 || r==-1)
return 0;
}
}
else
}
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Почему? Вопрос по select. (2004)
- Форум Баги в select! (2003)
- Форум connect return -1 errno = 105 (ENOBUFS) (2005)
- Форум сокет. получить данные (2007)
- Форум UART не читает по 1 байту (2005)
- Форум вопрос про select() (2013)
- Форум как побороть тайм-ауты в ТСР-соединении? (2003)
- Форум функция select (2014)
- Форум помогите с select/pipe, плииииз... (2003)
- Форум помогите с select/pipe, плииииз... (2003)