Решение здесь состоит в том, чтобы не называть accept
, когда нечего делать. Просто используйте non-blocking select
или poll
, чтобы ждать, пока что-то примет, затем accept
в этой точке. Если вы не создадите действительно крошечный тайм-аут, не будет никаких последствий для перехода от неблокирующего вызова и возврата к ожиданию этого сокета снова.