Tôi đang viết chương trình giao tiếp mạng bằng cách sử dụng các ổ cắm không chặn (C/C++) và select
. Chương trình khá lớn, vì vậy tôi không thể tải lên mã nguồn. Trong một phiên thử nghiệm rất tích cực, tôi sử dụng mã thử nghiệm để mở và đóng cả TCP và UDP thường xuyên. Nó luôn luôn kết thúc mà một đầu không đáp ứng và có sử dụng CPU trên 98 hoặc 99%. Sau đó, tôi sử dụng gdb để đính kèm. "bt" hiển thị thông tin sau:Vấn đề select() sử dụng quá nhiều nguồn CPU là gì?
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
Loại lỗi này có thể là gì?
$ uname -a
Linux kiosk2 2.6.32-34-generiC#77-Ubuntu SMP Tue Sep 13 19:39:17 UTC 2011 x86_64 GNU/Linux
Vì vậy, vấn đề là gì? – Tshepang