select en C++
E.R.L
erobles en sensacd.com.mx
Mie Jun 13 16:55:43 CDT 2001
Hola a todos!!
Esperando q me puedan hechar una mano, ensequida les platico lo que me pasa:
tengo un problema con la funcion select que me trae asoleado....
El codigo es este:
.. rollo...
if((dispositivo=open("/dev/lp0",O_WRONLY|O_APPEND)) == -1) error;
...mas rollo...
for(;;){
enlinea=0
while(!enlinea){
FD_ZERO(&wfds);
FD_SET(dispositivo,&wfds);
sleep(2);
select(dispositivo+1,NULL,&wfds,NULL,&timeout); //<--aqui es
enlinea=FD_ISSET(dispositivo,&wfds);
if(!enlinea){
cout<<"impresora no esta en linea"<<endl;
}
}
... mas rollo ...
}
---------Termina codigo -----
El problema esta en que el select siempre me dice que la impresora esta en
linea y que puedo escribir en ella, aun cuando la tengo apagada o desconectada
...
Y la verdad ya no se ni que ondas, por cierto tambien cambie
dispositivo+1 por FD_SETSIZE y nada cambio segui igual.
Espero me puedan ayudar.
de antemano les agradezco su (des)orientacion.
---------------------------------------------------------
para salir de la lista, enviar un mensaje con las palabras
"unsubscribe ayuda" en el cuerpo a majordomo en linux.org.mx
Más información sobre la lista de distribución Ayuda