Sto scrivendo un programma di comunicazione di rete usando socket non bloccanti (C/C++) e select
. Il programma è abbastanza grande, quindi non posso caricare il codice sorgente. In una sessione di test molto aggressiva, utilizzo il codice di test per aprire e chiudere frequentemente sia TCP che UDP. Finisce sempre che quell'estremità non risponde e ha un utilizzo della CPU superiore al 98 o 99%. Quindi utilizzo gdb da allegare. "bt" mostra quanto segue:Qual è il problema di select() che utilizza tanta potenza della CPU?
0x00007f1b71b59ac3 in __select_nocancel() at ../sysdeps/unix/syscall-template.S:82
82 ../sysdeps/unix/syscall-template.S: No such file or directory.
in ../sysdeps/unix/syscall-template.S
Che tipo di errore potrebbe essere?
$ uname -a
Linux kiosk2 2.6.32-34-generiC#77-Ubuntu SMP Tue Sep 13 19:39:17 UTC 2011 x86_64 GNU/Linux
Quindi, qual era il problema? – Tshepang