Добавление записи в task_struct и инициализация по умолчанию - PullRequest
8 голосов
/ 08 ноября 2011

Я хочу добавить запись в структуру блока управления процессом (task_struct). Позвольте сказать способ пометить некоторый процесс. Я хочу инициализировать это поле равным 0 для всех процессов, кроме «некоторых специальных процессов», позже, вызвав sched_setscheduler(), я установлю этот флаг для «специальных процессов».

Кто-нибудь знает, как назначить значение по умолчанию для переменной-члена в task_struct?

1 Ответ

11 голосов
/ 08 ноября 2011

Я предполагаю, что вы говорите о недавнем ядре Linux, потому что детали реализации со временем меняются.

Есть два варианта.Первый - вы можете установить значение переменной в глобальном init_task.Посмотрите, как это делается в заголовке linux/init_task.h.Второй вариант заключается в добавлении кода в copy_process, который вы, возможно, захотите сделать в любом случае, чтобы правильно обработать наследование fork() поля, которое вы добавляете.

...