LINUX.ORG.RU

История изменений

Исправление quasimoto, (текущая версия) :

Event loops и планировщики писать

Для примера:

class Sched {

    ...

    enum class HaltState {
        to,
        se
    };

    // "bot"
    HaltState run(...) {
        while (true) {
            ...
            if (...) return HaltState::to;
            if (...) return HaltState::se;
        }
    }

    // "f"
    static void handlePossibleHalts(HaltState state) {
        ...
    }

};

    Sched::handlePossibleHalts(Sched(...).run(...));

Исходная версия quasimoto, :

Event loops и планировщики писать

Для примера:

class Sched {

    ...

    enum class HaltState {
        to,
        se
    };

    HaltState run(...) {
        while (true) {
            ...
            if (...) return HaltState::to;
            if (...) return HaltState::se;
        }
    }

    static void handlePossibleHalts(HaltState state) {
        ...
    }

};

    Sched::handlePossibleHalts(Sched(...).run(...));