1. 程式人生 > >ldd3學習筆記:除錯技術

ldd3學習筆記:除錯技術

void *start(struct seq_file *sfile, loff_t *pos);
void *next(struct seq_file *sfile, void *v, loff_t *pos);  //next 函式應當移動 iterator 到下一個位置
void stop(struct seq_file *sfile, void *v); //當核心處理完 iterator, 它呼叫 stop 來清理
int show(struct seq_file *sfile, void *v); //核心呼叫 show 方法來真正輸出有用的東西給使用者空間,這個方法應當建立序列中由 iterator v 指示的項的輸出. 不應當使用 printk
(值得注意 seq_file 程式碼在呼叫 start 和 stop 之間不睡眠或者進行其他非原子性任務. 你也肯定會看到在呼叫 start 後馬上有一個 stop 呼叫. 因此, 對你的 start 方法來說請求訊號量或自旋鎖是安全的. 只要你的其他 seq_file 方法是原子的, 呼叫的整個序列是原子的.)