shmk
29-03-2006, 11:59
Ciao a tutti.
Ho un grosso problema con una select.
Praticamente metto nell'insieme degli fd in lettura un fd di un socket, dopo averlo connesso a un socket listening su un "server".
Il mio problema e' che su questo socket non effettuo assolutamente nessuna operazione,ma la select viene cmq svegliata da non so cosa....
il mio problema e' che non capisco perche' si svegli, visto che non ha nessuna ragione apparente...
io effettuo un:
while(1){
FD_ZERO(&myset);
FD_SET(fd,&myset);
select(maxfd,&myset,NULL,NULL,NULL); //attesa potenzialmente infinita
//do something
}
a questo punto mi chiedo:
1-FD_ZERO azzera tutto il set?
2-Io ho mandato sul fd connesso qualcosa ( un int ) prima di arrivare a questo ciclo, ma nel caso di 1) non dovrebbero esserci problemi...
aiuto, sto impazzendo.... :dhò:
thanks :dottò:
Ho un grosso problema con una select.
Praticamente metto nell'insieme degli fd in lettura un fd di un socket, dopo averlo connesso a un socket listening su un "server".
Il mio problema e' che su questo socket non effettuo assolutamente nessuna operazione,ma la select viene cmq svegliata da non so cosa....
il mio problema e' che non capisco perche' si svegli, visto che non ha nessuna ragione apparente...
io effettuo un:
while(1){
FD_ZERO(&myset);
FD_SET(fd,&myset);
select(maxfd,&myset,NULL,NULL,NULL); //attesa potenzialmente infinita
//do something
}
a questo punto mi chiedo:
1-FD_ZERO azzera tutto il set?
2-Io ho mandato sul fd connesso qualcosa ( un int ) prima di arrivare a questo ciclo, ma nel caso di 1) non dovrebbero esserci problemi...
aiuto, sto impazzendo.... :dhò:
thanks :dottò: