Post #315
178
Предыдущий дизайн, с инкапсуляцией всего ивентлупа как самостоятельной единицы, вообще давал мало обещаний. Потому что необходимо прямо в логике производить операции - закрыть подключение, например. Тогда, когда я начну использовать io_uring, я не смогу его утилизировать по полной. Я нашёл выход - сделал массив тасок, которых надо отключить, и так возвращал источнику ивентов (в данном случае - обёртке над еполлом). Это усложняет реализацию, потому что нужно дополнительно выход за границы массива контролировать, и, в случае чего, прерывать ивентлуп для того, чтобы вернуть этот массив. Здесь и был злоебучий баг с double-free, который я починить не мог, что и, в том числе, надеюсь починить за счёт переписывания с нуля