Linux Kernel 的 Notify Chain 與應用
在很久很久以前有個遠的要命王國.....
(下略...)
扯遠了,現在不是在演史瑞克...
早在Linux Kernel version 1.2.X時代(資料來源:LXR),
就有Notify Chain的設計了。
Notify Chain 就是核心裡面的Callback Function List
跟一般的Callback Function不同處就在於它是個LIST(廢話)
所以可以註冊一個以上的Callback。
對應的LIST處理函示有:
notifier_chain_register
notifier_chain_unregister
notifier_call_chain
前面兩個是登錄跟註銷,最後是啟動整串Callback
典型的應用就是reset跟panic的處理,
可以加一大串對應的處理函示,相當方便。
另外如果核心程式有連動的需求,也可以自己創一個:
static struct notifier_block *your_notifier_list;
(下略...)
扯遠了,現在不是在演史瑞克...
早在Linux Kernel version 1.2.X時代(資料來源:LXR),
就有Notify Chain的設計了。
Notify Chain 就是核心裡面的Callback Function List
跟一般的Callback Function不同處就在於它是個LIST(廢話)
所以可以註冊一個以上的Callback。
對應的LIST處理函示有:
notifier_chain_register
notifier_chain_unregister
notifier_call_chain
前面兩個是登錄跟註銷,最後是啟動整串Callback
典型的應用就是reset跟panic的處理,
可以加一大串對應的處理函示,相當方便。
另外如果核心程式有連動的需求,也可以自己創一個:
static struct notifier_block *your_notifier_list;
留言