PDA

View Full Version : [C++] funzione poll - keyboard input


trallallero
12-12-2007, 09:42
Per vari motivi non posso usare un getchar perchè non mi permette di intercettare un CTRL + C (aspetta l'invio) quindi pensavo di usare un poll che non ho mai usato.

Però succede che la prima volta aspetta all'infinito, ma se per caso premo invio non aspetta più e mi scrive "pressed a key!" a raffica ...

fprintf(stdout,"\nRunnning ... (press CTRL + C to quit )\n");

struct pollfd ufds = { STDIN_FILENO, 1, 1 };

while(!m_End)
{
poll( &ufds, 1 , -1 );
puts("pressed a key!");
}

dove sbaglio ? il marametro -1 sta per "aspetta all'infinito" da quello che ho capito

NB: Il membro m_End viene settato a true dalla funzione che intercetta il CTRL+C

trallallero
12-12-2007, 10:14
http://lwn.net/Articles/176911/

ho trovato la pselect che intercetta sia segnali che dati