2011-11-08 9 views
7

Chcę dodać pozycję do struktury bloku sterowania procesem (task_struct). Powiedzmy, jak oznaczyć jakiś proces. Chcę zainicjować to pole na 0 dla całego procesu z wyjątkiem "niektórych procesów specjalnych", później przez wywołanie sched_setscheduler() Ustawię tę flagę dla "procesów specjalnych".Dodawanie wpisu do elementu task_struct i inicjowanie wartości domyślnej

Czy ktoś ma pomysł, jak przypisać wartość domyślną do zmiennej członka w task_struct?

Odpowiedz

10

Zakładam, że mówisz o niedawnym jądrze Linuksa, ponieważ szczegóły implementacji zmieniają się z czasem.

Dostępne są dwie opcje. Pierwsza - możesz ustawić wartość zmiennej w globalnej init_task. Zobacz, jak to się robi w nagłówku linux/init_task.h. Drugą opcją jest dodanie kodu do copy_process, który i tak możesz chcieć wykonać, aby poprawnie obsłużyć dziedziczenie fork() dodawanego pola.

Powiązane problemy