#author("2025-10-24T16:47:09+09:00","default:guest","guest") #author("2025-10-24T16:47:57+09:00","default:guest","guest") *参照元 [#ebbc4c79] #backlinks *説明 [#n3fc781a] -パス: [[linux-5.15/include/linux/list.h]] -prevとnextの間にあるリストの要素を全て削除する。 **引数 [#z883620c] -struct list_head * prev --削除する区間の前の要素 --削除する区間の前の要素。 --[[linux-5.15/list_head]] -struct list_head * next --削除する区間の後の要素 --削除する区間の後の要素。 **返り値 [#l65114f5] -なし **参考 [#geacb45b] *実装 [#n6ed3856] /* * Delete a list entry by making the prev/next entries * point to each other. * * This is only for internal list manipulation where we know * the prev/next entries already! */ static inline void __list_del(struct list_head * prev, struct list_head * next) { next->prev = prev; WRITE_ONCE(prev->next, next); } -削除前 --prev -(next)-> a -(next)-> b -(next)-> c -(next)-> next --prev <-(prev)- a <-(prev)- b <-(prev)- c <-(prev)- next -削除後 --prev -(next)-> next --prev <-(prev)- next --[[linux-5.15/WRITE_ONCE()]] *コメント [#w039c883]