2011-11-08 28 views
7

Tôi muốn thêm mục nhập để xử lý cấu trúc khối điều khiển (task_struct). Giả sử một cách để gắn thẻ một số quy trình. Tôi muốn khởi tạo trường này thành 0 cho tất cả quy trình ngoại trừ "một số quy trình đặc biệt", sau đó bằng cách gọi sched_setscheduler() Tôi sẽ đặt cờ này cho "quy trình đặc biệt".Thêm mục nhập vào task_struct và khởi tạo thành giá trị mặc định

Có ai có ý tưởng cách chỉ định giá trị mặc định cho biến thành viên trong task_struct không?

Trả lời

10

Tôi giả sử bạn đang nói về hạt nhân Linux gần đây, bởi vì chi tiết triển khai thay đổi theo thời gian.

Có hai tùy chọn. Đầu tiên - bạn có thể đặt giá trị của biến trong toàn cầu là init_task. Xem cách thực hiện trong tiêu đề linux/init_task.h. Tùy chọn thứ hai là thêm mã vào copy_process, mà bạn có thể muốn làm bất cứ cách nào để xử lý đúng cách thừa kế fork() của trường bạn đang thêm.

Các vấn đề liên quan