2011-11-08 2 views
7

Je veux ajouter une entrée à la structure du bloc de contrôle de processus (task_struct). Disons un moyen de marquer un processus. Je veux initialiser ce champ à 0 pour tout le processus excepté "quelques processus spéciaux", plus tard en appelant sched_setscheduler() Je mettrai ce drapeau pour les "processus spéciaux".entrée task_struct et l'initialisation par défaut la valeur

Est-ce que quelqu'un a une idée de comment attribuer une valeur par défaut à une variable membre task_struct?

Répondre

10

Je suppose que vous parlez d'un noyau Linux récent, parce que les changements de détail de la mise en œuvre au fil du temps.

Il y a deux options. Le premier - vous pouvez définir la valeur de la variable dans le init_task global. Voir comment cela est fait dans l'en-tête linux/init_task.h. La deuxième option consiste à ajouter du code à copy_process, ce que vous pouvez faire de toute façon afin de gérer correctement l'héritage fork() du champ que vous ajoutez.

Questions connexes