Хотя, кстати, я логику ивентлупа всё равно никак не могу отвязать от платформы. Например, даже просто обработать одну таску - это всё равно надо будет прочитать что-то из сокета, либо же записать. Под линуксом я могу в это дело впилить юринг всё тот же, что я уже на darwin/bsd-based никак не портирую. Делать это на препроцессоре не хочу, ещё какие-то ухищрения в рантайме тоже. Получается, копипаста остаётся единственным решением. Но вариант откровенно хуйня: тогда, чтобы что-то пофиксить и/или поменять здесь, мне придётся менять это сразу во всех реализациях под каждую поддерживаемую платформу или семейство платформ. А реализации и сами по себе могут качественно отличаться!
В общем, задачка интересная. Пока поддерживать буду только линукс, чтобы хотя бы внутреннее апи сформировалось, а тогда уж можно и думать, как решать вопрос с портируемостью
Post #316
196